我们的老师希望我们在 Matlab 上打印一张图表,该图表在x 轴上绘制质量因子,在y 轴上绘制均方误差。该图像是已知的“lenna.jpg”。
我已经搜索并找到了如何找到 mse,但我没有找到任何可以帮助我找到质量因子的方法。
那么,你能用 Matlab 代码告诉我,如何找到这两个东西以及如何在图表中显示它们吗?
提前致谢。
我们的老师希望我们在 Matlab 上打印一张图表,该图表在x 轴上绘制质量因子,在y 轴上绘制均方误差。该图像是已知的“lenna.jpg”。
我已经搜索并找到了如何找到 mse,但我没有找到任何可以帮助我找到质量因子的方法。
那么,你能用 Matlab 代码告诉我,如何找到这两个东西以及如何在图表中显示它们吗?
提前致谢。
我现在没有可用的 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'