通常情况下,我们输入的图像是 unit8 格式,而 Matlab 为了提高运算时的精度,都会把图像转为 double 类型。
但是我们在使用 imwrite 保存图像时,如果直接使用 double 类型,会导致图像变成二值图像。而且此时使用 imshow 查看的话,显示出来的图像还是正常的。
为了解决这个问题,需要对double图像进行归一化:文章来源:https://www.toymoban.com/news/detail-699674.html
Orimax = max(max(img));
Orimin = min(min(img));
saveImg = img./(Orimax-Orimin+eps);
其中 img 为输入图像,saveImg 为输出图像,归一化之后再保存saveImg就正常了,亲测有效。文章来源地址https://www.toymoban.com/news/detail-699674.html
到了这里,关于Matlab保存double图像,解决imwrite与imshow不一致的问题的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!