0

imageio (Python) 上的函数 imwrite() 似乎在保存之前重新缩放图像数据。我的图像数据的值在 [30, 255] 范围内,但是当我保存它时,它会拉伸数据,使最终图像从 [0, 255] 扩展,从而在直方图中创建“洞”以增加整体对比度。

是否有任何参数可以解决此问题并使 imwrite() 不修改数据?

谢谢

到目前为止,我将一个像素设置为 0 以防止这种情况发生:

prediction[0, 0, 0] = 0

(预测是一个包含彩色照片的 [1024, 768, 3] 数组)

imageio.imwrite('prediction.png', prediction)
4

1 回答 1

0

固定的!我使用的是 uint32 值而不是 uint8,然后 imwrite() 似乎执行了一些缩放更正,因为它需要 uint8 类型。使用以下方法解决问题:

prediction = np.round(prediction*255).astype('uint8')

而不是转换为 32 位整数,我一开始就这样做了:

prediction = np.round(prediction*255).astype(int)
于 2019-04-04T22:19:35.207 回答