Matlab imwrite函数 保存图像会压缩

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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

以上是关于Matlab imwrite函数 保存图像会压缩的主要内容,如果未能解决你的问题,请参考以下文章

matlab imwrite函数保存图片问题。imwrite(X,map,filename,fmt) 中着重说一下map是啥意思,怎么用?

用matlab处理bmp的图像,处理完之后怎么保存到电脑里面?

matlab中保存tif图像堆栈能保留原图像格式吗

matlab中如何修改保存图片的大小?

matlab 保存的图像总有白边 怎么回事

OpenCV 函数学习02-图像的保存(cv2.imwrite)