Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用Matlab找到并显示作为质量因子函数的均方误差图?_Matlab_Image Processing - Fatal编程技术网

如何使用Matlab找到并显示作为质量因子函数的均方误差图?

如何使用Matlab找到并显示作为质量因子函数的均方误差图?,matlab,image-processing,Matlab,Image Processing,我们的老师希望我们在Matlab上打印一个图形,在x轴上绘制质量因子,在y轴上绘制均方误差。这张图片就是大家熟知的“lenna.jpg” 我已经搜索并找到了如何找到mse,但在如何找到质量因子方面,我没有找到任何帮助 那么,你能告诉我在Matlab代码中,如何找到这两个东西,以及如何在图形中显示它们吗 提前感谢。我现在没有可用的matlab,但我认为以下方法应该可行: original=imread('lena.jpg'); mse=zeros(1,100); for q = 1:100

我们的老师希望我们在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'

你的老师从来没有告诉过你什么是质量因素?我打赌是他/她干的。这与.jpg文件的压缩程度有关吗?均方误差为
sum((image1(:)-image2(:).^2)/numel(image1)。我相信图像是
lena.jpg
而不是
lenna.jpg
——图像处理中非常著名的图片。
imwrite(f,'picture.jpg','quality',q)
允许您使用可变质量因子(压缩)编写图片。将这一点与上面提到的
q
的不同值结合起来,你就在那里了。如果你做不出来,你可能就不应该在那个班。而且,这可能是你的老师在提到“莉娜”时的想法。这是图像处理中常用的源图像。你可能会觉得很有启发性。莉娜是个花花公子插页。令人惊讶的是,在当今时代,讲师们仍在使用这一方法。你应该抱怨。