您的位置:首页 > 编程语言 > MATLAB

MATLAB图像保存压缩后改变像素值的问题

2017-09-04 10:14 495 查看
原文地址: http://www.ilovematlab.cn/thread-140391-1-1.html
用zeros(x,y)建立了一个矩阵,把里面对应一些位置改为1,这样就有了下图中上的结果,各个像素值都很正常,imshow出来也没有问题标准的二值图像。然后我就imwrite保存了。结果想继续处理的时候,用imread读取保存的文件,发现里面的一些像素值改变了,不是单纯的二值,而是出现了诸如250,4,6之类的值。使用im2double变化后,如右下,没有任何区别。



经过多种测试,基本可以确定就是图像保存格式的问题,如果用bmp图像格式保存的话,再用imread读入就没有这样的问题。
或者对于jpg写入时的imwrite参数做一些修改,比如mode的lossless,quality的100可以获得近似满意的结果。
最后想说的是,如果对你的结果图片还有后续操作需要做的话,最好还是保存为非压缩格式比较好一些,比如bmp,tiff之类。有压缩的图像格式在保存时怎么都会出现错误的说。这一点我在matlab的answers上也得到了证实。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: