其他分享
首页 > 其他分享> > Matlab使用imwrite函数保存成png/bmp格式的图片产生白边问题

Matlab使用imwrite函数保存成png/bmp格式的图片产生白边问题

作者:互联网

Matlab使用imwrite保存成png格式的图片产生白边问题


环境:
win10,matlab2018b,visio2016专业版

问题描述:
使用imwrite函数保存处理后的图片矩阵(灰度图和彩色图均尝试过)中一小块区域为图片后(bmp/png格式均尝试过),使用windows自带的照片查看器打开图片发现存在白边问题。注意,保存区域分辨率较小,大概为80x80的分辨率,白边显示较为明显。如下图所示:
在这里插入图片描述

但是我就纳闷了,你说你保存出来,在最外边有白边我也认了,咋还隔着一个像素之后还有着淡淡的白边。当时我疑惑不解,但是本着鸵鸟精神我也就没有理会。我把它放进visio里面进行复原效果比对,欸,放进visio就没有白边了,所以白边问题就无所谓啦。下图为放进visio后的图:
在这里插入图片描述

结果我在visio里面画完对比图之后另存为png格式的图片,白边又出现了!!!如下图所示:
在这里插入图片描述
然后我去检查了一下是不是matlab保存png图片的时候是不是就有问题了,结果…
在这里插入图片描述
没有问题!!!
我大胆猜测是matlab在保存低分辨率图像的时候算法压缩会产生这种白边,我的解决措施是:在保存前用imresize函数上采样个几倍。因为白边是一行像素嘛,图像分辨率提高了之后,白边效应就不明显了。虽然姿势不是很优美,但是能混口饭吃,算了算了。最后效果如下图所示:
在这里插入图片描述

标签:白边,保存,bmp,Matlab,visio,imwrite,png,图片
来源: https://blog.csdn.net/qq_40672851/article/details/122768188