在imageio(Python)上写入的函数似乎正在重新缩放图像数据

时间:2019-04-04 19:59:47

标签: python-imageio

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

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

谢谢

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

prediction[0, 0, 0] = 0

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

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

1 个答案:

答案 0 :(得分:0)

已修复!我使用的是uint32值而不是uint8,然后imwrite()似乎执行了一些缩放校正,因为它期望使用uint8类型。使用以下方法解决了问题:

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

而不是我一开始就转换为32位整数:

prediction = np.round(prediction*255).astype(int)