2017-04-01 43 views
0

我一直在嘗試使用Python中的opencv將圖像轉換爲灰度,但它將圖像轉換爲某種熱成像圖像。我究竟做錯了什麼? 這裏是下面圖像的代碼:Opencv轉換爲灰度不能正常工作

img =X_tr[9999] 
plt.imshow(img) 
plt.show() 
img = cv2.cvtColor(img.astype(np.uint8), cv2.COLOR_RGB2GRAY) 
plt.imshow(img) 
plt.show() 
img.shape 

這圖像是從CIFAR10數據集採取。 謝謝。 Code and result after using opencv

+0

我剛纔看到實際上已經有類似的問題了(不是使用opencv)。我仍然會在這裏留下我的答案,因爲關於規範化的觀點從其他線程不明顯 – ImportanceOfBeingErnest

回答

3

灰度圖像,即僅具有一個顏色通道的圖像被imshow解釋爲使用顏色映射繪製。因此,您需要指定要使用的顏色映射(以及標準化,如果它很重要)。

plt.imshow(img, cmap="gray", vmin=0, vmax=255) 
+1

我很愚蠢。謝謝。 –