matplotlib 0和255都给予“灰色”的彩色图黑色的图像,为什么呢?

esbemjvw  于 2023-06-23  发布在  其他
关注(0)|答案(1)|浏览(119)

我正在尝试用matplotlib画一个图像。
这个代码

im_data = np.full((100,100), 0)
axi = plt.imshow(im_data, cmap='gray')

给了我这个

然而,该代码

im_data = np.full((100,100), 255)
axi = plt.imshow(im_data, cmap='gray')

也给了我准确的黑色图像。
0和255都给予“灰色”的彩色图黑色的图像,为什么呢?
我也尝试了graybinary colormap,得到了相同的结果。
我如何将其中一个渲染成白色图像?

jv2fixgn

jv2fixgn1#

要获得预期的白色输出,您需要手动设置vminvmax。否则,pyplot.imshow()从数据中推断最小值/最大值。请注意,如果不设置这些值,任何常数值都将产生黑色图像,而不仅仅是0和255。

**vminvmax:**float,可选

...默认情况下,色彩Map表覆盖所提供数据的完整值范围...

im_data = np.full((100,100), 0)
axi = plt.imshow(im_data, cmap='gray', vmin=0, vmax=255)

im_data = np.full((100,100), 255)
axi = plt.imshow(im_data, cmap='gray', vmin=0, vmax=255)

相关问题