-1

我们的老师希望我们在 Matlab 上打印一张图表,该图表在x 轴上绘制质量因子,在y 轴上绘制均方误差。该图像是已知的“lenna.jpg”。

我已经搜索并找到了如何找到 mse,但我没有找到任何可以帮助我找到质量因子的方法。

那么,你能用 Matlab 代码告诉我,如何找到这两个东西以及如何在图表中显示它们吗?

提前致谢。

4

1 回答 1

1

我现在没有可用的 matlab,但我认为以下应该可以工作:

original=imread('lena.jpg');
mse=zeros(1,100);
for q = 1:100
    tempFile = sprintf('lena%03d.jpg', q);
    imwrite(original, tempfile, 'quality', q);
    thisOne = imread(tempfile);
    mse(q) = sum((original - thisOne).^2)/numel(thisOne);
end

figure
plot(1:100, mse)
xlabel 'quality factor'
ylabel 'MSE'
title 'Degradation of Lena.jpg with quality factor'
于 2013-04-05T02:31:29.570 回答