Matlab保存double图像,解决imwrite与imshow不一致的问题

通常情况下,我们输入的图像是 unit8 格式,而 Matlab 为了提高运算时的精度,都会把图像转为 double 类型。

但是我们在使用 imwrite 保存图像时,如果直接使用 double 类型,会导致图像变成二值图像。而且此时使用 imshow 查看的话,显示出来的图像还是正常的。

为了解决这个问题,需要对double图像进行归一化:

Orimax = max(max(img));
Orimin = min(min(img));
saveImg = img./(Orimax-Orimin+eps);

其中 img 为输入图像,saveImg 为输出图像,归一化之后再保存saveImg就正常了,亲测有效。

猜你喜欢

转载自blog.csdn.net/weixin_43390123/article/details/129288044
今日推荐