Matlab imwrite函数 保存图像会压缩

 

Matlab 正常的 uint8*3 的变量,imwrite保存为jpg后会 压缩图像,两种解决方法。

1、‘quality‘,100,‘mode‘,‘lossless‘

imwrite(img_out,[imgPathOut,int2str(n),‘.jpg‘],‘quality‘,100,‘mode‘,‘lossless‘);
imwrite(imgA,[imgPathOutA,int2str(n),‘.jpg‘],‘quality‘,100,‘mode‘,‘lossless‘);
imwrite(imgB,[imgPathOutB,int2str(n),‘.jpg‘],‘quality‘,100,‘mode‘,‘lossless‘);

 

2、保存为 .bmp 格式 

 

经过多种测试,基本可以确定就是图像保存格式的问题,如果用bmp图像格式保存的话,再用imread读入就没有这样的问题。
或者对于jpg写入时的imwrite参数做一些修改,比如mode的lossless,quality的100可以获得近似满意的结果。
最后想说的是,如果对你的结果图片还有后续操作需要做的话,最好还是保存为非压缩格式比较好一些,比如bmp,tiff之类。有压缩的图像格式在保存时怎么都会出现错误的说。这一点我在matlab的answers上也得到了证实。

都是一些细小的问题,希望能够引起大家的重视,做到不出错。
尽管估计没啥人看,还是写下来留给万一也发生这样疑问的同学出现。

http://www.ilovematlab.cn/thread-140391-1-1.html

文章来自:http://www.cnblogs.com/wlwsea/p/7543642.html
© 2021 jiaocheng.bubufx.com  联系我们
ICP备案:鲁ICP备09046678号-3