imageio(Python)上的函数imwrite()似乎在保存之前重新缩放了图像数据。我的图像数据的值在[30,255]范围内,但是当我保存它时,它会拉伸数据,以便最终的图像从[0,255]展开,从而在直方图中创建“空洞”,从而增加总体对比度。 / p>
是否有任何参数可以解决此问题,并使imwrite()不能修改数据?
谢谢
到目前为止,我将像素设置为0以防止这种情况发生:
prediction[0, 0, 0] = 0
(预测是一个包含彩色照片的[1024、768、3]数组)
imageio.imwrite('prediction.png', prediction)
答案 0 :(得分:0)
已修复!我使用的是uint32值而不是uint8,然后imwrite()似乎执行了一些缩放校正,因为它期望使用uint8类型。使用以下方法解决了问题:
prediction = np.round(prediction*255).astype('uint8')
而不是我一开始就转换为32位整数:
prediction = np.round(prediction*255).astype(int)