在回答this question的形象,我想在其原來的顏色來顯示圖像,因此從這一行的代碼刪除gray
參數:Python的 - 顯示與原來的顏色
plt.imshow(im_out, 'gray')
做當但是,我得到的圖像顯示黃色和紫色的顏色,而不是圖像的原始顏色。
我應該怎麼做才能以原始顏色顯示圖像?
謝謝。
編輯1我碰到this tutorial,看來,我應該使用:
plt.imshow(cv2.cvtColor(im_out, cv2.COLOR_BGR2RGB))
但是,我這樣做的時候,我有以下幾點:
Calculated scale difference: 0.99
Calculated rotation difference: 44.51
OpenCV Error: Assertion failed (scn == 3 || scn == 4) in cvtColor, file /home/user/opencv/modules/imgproc/src/color.cpp, line 10606
Traceback (most recent call last):
File "align_surf.py", line 47, in <module>
deskew()
File "align_surf.py", line 9, in deskew
plt.imshow(cv2.cvtColor(im_out, cv2.COLOR_BGR2RGB))
cv2.error: /home/user/opencv/modules/imgproc/src/color.cpp:10606: error: (-215) scn == 3 || scn == 4 in function cvtColor
如何解決這個問題?
EDIT 2以上的原因是該圖像的讀取爲在原始代碼如下:
orig_image = cv2.imread('1.jpg', 0)
所以,我簡單地除去0
。
它從文檔目前尚不清楚,但刪除了0想必默認爲「1」每C++文檔:http://docs.opencv.org/2.4/modules/highgui/doc/reading_and_writing_images_and_video.html?highlight=imread#cv2.imread –
也',plt.imshow(img,'灰色')'指示matplotlib使用'gray'顏色表顯示圖像'img';即暗示「img」是灰度圖像。否則,在「顏色」圖像上指定顏色圖表是沒有意義的。 –