2017-06-14 94 views
2

我是圖像處理的初學者。我在許多色彩空間中顯示圖像,下面的代碼顯示3個通道中的圖像R G B,但顯示的圖像是灰色佈局。我需要顯示三個圖像,一個紅色通道爲紅色圖像,另一個爲藍色,最後一個爲綠色。提前致謝。python:只想在opencv中顯示紅色通道

# cspace.py 
import cv2 
import numpy as np 

image = cv2.imread('download.jpg') 

# Convert BGR to HSV 
hsv = cv2.cvtColor(image, cv2.COLOR_BGR2HSV) 
hsl = cv2.cvtColor(image, cv2.COLOR_BGR2HLS) # equal to HSL 
luv = cv2.cvtColor(image, cv2.COLOR_BGR2LUV) 


#RGB - Blue 
cv2.imshow('B-RGB.jpg',image[:, :, 0]) 
cv2.imwrite('B-RGB.jpg',image[:, :, 0]) 

# RGB - Green 
cv2.imshow('G-RGB',image[:, :, 1]) 
cv2.imwrite('G-RGB.jpg',image[:, :, 1]) 

# RGB Red 
cv2.imshow('R-RGB',image[:, :, 2]) 
cv2.imwrite('R-RGB.jpg',image[:, :, 2]) 

cv2.waitKey(0) Blue image as displayed currentlyi need to display blue channel like this image

回答

2

你可以只讓原始圖像的副本,並設置一些渠道爲0

import cv2 

image = cv2.imread('download.jpg') 

b = image.copy() 
# set green and red channels to 0 
b[:, :, 1] = 0 
b[:, :, 2] = 0 


g = image.copy() 
# set blue and red channels to 0 
g[:, :, 0] = 0 
g[:, :, 2] = 0 

r = image.copy() 
# set blue and green channels to 0 
r[:, :, 0] = 0 
r[:, :, 1] = 0 


# RGB - Blue 
cv2.imshow('B-RGB', b) 

# RGB - Green 
cv2.imshow('G-RGB', g) 

# RGB - Red 
cv2.imshow('R-RGB', r) 

cv2.waitKey(0) 
+0

謝謝@PedroBoechat這項工作我。 :) –

相關問題