【问题标题】:Clipping input data to the valid range for imshow with RGB data ([0..1] for floats or [0..255] for integers)使用 RGB 数据将输入数据剪切到 imshow 的有效范围(浮点数为 [0..1] 或整数为 [0..255])
【发布时间】:2018-09-13 14:18:54
【问题描述】:

在将 MRI 切片转换为 PNG 格式后,我尝试运行图形切割算法。我一直遇到以下问题:

Clipping input data to the valid range for imshow with RGB data ([0..1] for floats or [0..255] for integers).

即使在设置vminvmax 之后也是如此:

plt.imshow(out, vmin=0, vmax=255)

【问题讨论】:

    标签: python matplotlib normalization


    【解决方案1】:

    在缩放[0, 255] 范围后将图像投射到np.uint8 将消除此警告。这似乎是matplotlib 中的一个功能,正如issue 中所讨论的那样。

    plt.imshow((out * 255).astype(np.uint8))
    

    【讨论】:

      【解决方案2】:

      使用plt.imshow(out.astype('uint8')) 代替plt.imshow(out)。就是这样!

      【讨论】:

        【解决方案3】:

        如果你想展示它,你可以使用img/255

        或者

        np.array(img,np.int32)
        

        原因是如果颜色强度是浮点数,那么matplotlib expects 它的范围是 0 到 1。如果是 int,那么它需要 0 到 255。所以你可以强制所有数字为 int 或 scale全部减少 1/255。

        【讨论】:

          【解决方案4】:

          正如警告所说,它在 (0,1).... 之间裁剪数据。 我尝试了上述方法,警告消失了,但我的图像缺少像素值。 所以我为我的 numpy 数组 Image (64, 64, 3) 尝试了以下步骤。 第1步:检查数组的最小值和最大值

          maxValue = np.amax(Image)
          minValue = np.amin(Image)
          

          在我的情况下,图像的最小值为负数,最大值为正数,但都在 (-1, 1.5) 之间,所以 第2步:我只是在imshow之前剪切了数据

          Image = np.clip(Image, 0, 1)
          plt.imshow(Image)
          

          请注意,如果您的像素值在 (-84, 317) 等范围内,那么您可以使用以下步骤

          Image = Image/np.amax(Image)
          Image = np.clip(Image, 0, 1)
          plt.imshow(Image)
          

          【讨论】:

            【解决方案5】:

            只要在这个范围内 [0:1]

            如果调用amax()和amin()后在[-1, 1]之间则

            img = img / 2 + 0.5
            

            如果在 [0, 250] 之间

            img = img / 250 
            

            【讨论】:

              猜你喜欢
              • 2020-09-29
              • 2021-02-28
              • 1970-01-01
              • 2013-12-27
              • 1970-01-01
              • 1970-01-01
              • 2022-01-25
              • 1970-01-01
              • 2020-06-01
              相关资源
              最近更新 更多