为什么将图像保存为jpeg文件,而不是在保存n次时更改图像

时间:2015-10-10 17:31:09

标签: matlab

我正在使用matlab 2015.我知道通过保存jpeg文件n时间数据会丢失,因为jpeg压缩是有损的,但是在运行下面的代码时没有任何变化

代码:

N = 100;
imfinfo('temp.jpg')

for i = 1: N
    image = uint8(imread('temp.jpg'));
    imwrite(image, 'temp.jpg','jpeg', 'Quality', 90,'Mode','lossy');
    figure(0)
    imshow(image)
    imfinfo('temp.jpg')
end

1 个答案:

答案 0 :(得分:2)

当你保存jpeg时,你会得到一定的信息丢失。虽然实际上更复杂,但想象一下浮点的最后几位被切断以减少信息量,从而减少文件大小。当你再次阅读它时,它已经是一个包含较少信息的图像,可以存储在jpeg中而不会进一步丢失。为了坚持简化,再次切断最后的数字不会造成进一步的麻烦,因为它们已经为零。