为什么pyplot显示错误的灰度图像?

时间:2016-10-05 14:16:07

标签: image matplotlib

我有一张灰度图像:

enter image description here

if __name__ == "__main__" and __package__ is None: __package__ = "Package" 显示错误的图像(显然,它与原始图像不同):

plt.inshow

输出

enter image description here

我尝试了from PIL import Image import matplotlib.pyplot as plt import matplotlib.cm as cm img = Image.open('...') plt.imshow(image, cmap=cm.gray) 方法,它可以显示与原始图像相同的图像。

我的问题是:如何使用img.show()正确显示灰度图像?

我已经尝试了Display image as grayscale using matplotlib,但它不起作用。

1 个答案:

答案 0 :(得分:3)

默认情况下,

<form>会对数据进行拉伸和标准化,以使最小值变为黑色,最大值变为白色。您的数据目前在90到138之间,因此它会映射imshow90->black

为了防止这种情况发生,你可以给138->white真正的最小值和最大值;在这种情况下,我认为你想设置imshow。试试这个:

vmin=0, vmax=255

对我来说,再现原始图像。