在用plt.imshow
遇到了这样一个问题,即显示出来的图片的黑与白与设定的数值是不一样的,如下所示。
首先我定义了一个8*8
的数组
src = np.array(([4, 4, 4, 4, 4, 4,4,4],
[4, 4, 4,48, 4, 4,4,4],
[4, 4,64,64,64,64,4,4],
[4,17,64,64,94,64,4,4],
[4, 4,64,85,64,64,8,4],
[4, 4,64,64,64,64,4,4],
[4,56, 4, 4,23, 4,4,4],
[4, 4, 4, 4, 4, 4,4,4]),dtype='uint8')
然后我想要plt.imshow
的方法将其展示出来
plt.imshow(src,cmap=plt.cm.gray)
plt.axis('off')
plt.show()
得到的结果图像为
最开始的时候没有感觉到奇怪,后来发现这个亮度好像不太对,最高94的亮度应该不至于这么亮。
解决问题的办法就是给plt.imshow
方法添加一个vmax
参数,并设置为255
,同理可以设置vmin
参数
plt.imshow(src,cmap=plt.cm.gray,vmin=0,vmax=255)
plt.axis('off')
plt.show()
得到的效果如下所示