2015-09-06 120 views
0

我剛剛開始在窗口中使用python(PyCharm IDE)使用Opencv。 我試圖讀取彩色圖像。但它以灰度顯示。所以,我試圖把它下面轉換:在opencv中無法讀取圖像的顏色python

import cv2 
img = cv2.imread('C:\Ai.jpg', 0) 
b,g,r = cv2.split(img) 
rgb = cv2.merge([r,g,b]) 
cv2.imshow('image', img) 
cv2.imshow('rgb image',rgb) 
cv2.waitKey(0) 
cv2.destroyAllWindows() 

但我得到一個錯誤:

"b, g, r = cv2.split(img) ValueError: need more than 1 value to unpack"

你們可以請幫我嗎? 在此先感謝。

回答

1

有一個問題在你的代碼img = cv2.imread('C:\Ai.jpg', 0)的第二行,按照該documentation0值對應於cv2.IMREAD_GRAYSCALE,這就是爲什麼你得到一個灰度圖像的原因。如果您想要將其加載到RGB顏色空間中,您可以將其更改爲1;如果要包含任何其他通道(如與圖像一起編碼的alpha通道),則可以將其更改爲-1

b,g,r = cv2.split(img)正在產生錯誤,因爲img在該時間點是隻有一個通道的灰度圖像,並且不可能將1通道圖像分成3個相應的通道。

你最後的片段可能會是這樣:

import cv2 
# Reading the image in RGB mode 
img = cv2.imread('C:\Ai.jpg', 1) 

# No need of following lines: 
# b,g,r = cv2.split(img) 
# rgb = cv2.merge([r,g,b]) 
# cv2.imshow('rgb image',rgb) 

# Displaying the image 
cv2.imshow('image', img) 
cv2.waitKey(0) 
cv2.destroyAllWindows() 
+0

非常感謝您的解釋!我現在知道了! –