我有一张灰度图像:
但if __name__ == "__main__" and __package__ is None:
__package__ = "Package"
显示错误的图像(显然,它与原始图像不同):
plt.inshow
输出
我尝试了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,但它不起作用。
答案 0 :(得分:3)
<form>
会对数据进行拉伸和标准化,以使最小值变为黑色,最大值变为白色。您的数据目前在90到138之间,因此它会映射imshow
和90->black
。
为了防止这种情况发生,你可以给138->white
真正的最小值和最大值;在这种情况下,我认为你想设置imshow
。试试这个:
vmin=0, vmax=255
对我来说,再现原始图像。