2017-04-01 64 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

我很愚蠢。谢谢。 –