【问题标题】:matplotlib: How to plot an image on a absolute gray scale from 0 to 255 [duplicate]matplotlib:如何在 0 到 255 的绝对灰度上绘制图像 [重复]
【发布时间】:2020-01-08 01:51:24
【问题描述】:

当我尝试绘制灰度图像时,有时图像会按图像中的最小和最大像素进行归一化。无论如何指定一个从 0 到 255 的绝对比例。

我们可以从下面的示例中看到像素 240 的绘制非常不同。

import numpy as np
from matplotlib import pyplot as plt

x = np.array([
        [255,255,255],
        [255,255, 255],
        [255, 240, 0]
        ])    
plt.imshow(x, cmap = "gray")

x = np.array([
        [255,255,255],
        [255,255, 255],
        [255, 240, 240]
        ])    
plt.imshow(x, cmap = "gray")

【问题讨论】:

    标签: python matplotlib


    【解决方案1】:

    是的,使用 vminvmax kwargs 设置缩放的边界

    plt.imshow(x, cmap = "gray", vmin=0, vmax=255)
    

    示例:

    import numpy as np
    from matplotlib import pyplot as plt
    
    fig, axs = plt.subplots(1, 2, figsize=(8, 3))
    
    x = np.array([
            [255,255,255],
            [255,255, 255],
            [255, 240, 240]
            ])    
    a = axs[0].imshow(x, cmap = "gray")
    plt.colorbar(a, ax=axs[0])
    
    x = np.array([
            [255,255,255],
            [255,255, 255],
            [255, 240, 240]
            ])    
    a = axs[1].imshow(x, cmap = "gray", vmin=0, vmax=255)
    plt.colorbar(a, ax=axs[1])
    

    【讨论】:

      猜你喜欢
      • 2014-10-17
      • 1970-01-01
      • 2014-07-28
      • 2012-05-26
      • 2020-04-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-05-09
      相关资源
      最近更新 更多