【问题标题】:Both 0 and 255 give black image for 'gray' color map, why is that?0 和 255 都为“灰色”彩色图提供黑色图像,这是为什么呢?
【发布时间】:2021-04-08 13:09:09
【问题描述】:

我正在尝试使用 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 颜色图,得到了相同的结果。

如何让其中一个呈现白色图像?

【问题讨论】:

    标签: matplotlib


    【解决方案1】:

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

    vmin, vmax: 浮动,可选

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

    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)
    

    【讨论】:

      猜你喜欢
      • 2013-01-28
      • 2015-05-28
      • 2021-10-06
      • 2011-08-25
      • 2013-07-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-10-16
      相关资源
      最近更新 更多