%compare源程序
function rmse=compare(f1,f2,scale)
%compare计算和展示两个矩阵的误差
%返回输入f1和f2平方值得平方根误差和展示误差的直方图和程度误差图像。
%当scale省略时,默认为一度程度。
%检查输入参数和设置默认值
error(nargchk(2,3,nargin));
if nargin<3
scale=1;
end
%计算平均值的平方根误差
e=double(f1)-double(f2);
[m,n]=size(e);
rmse=sqrt(sum(e(:).^2)/(m*n));
%如果rmse不等于0,输出误差图像和直方图
if rmse
%形成错误直方图
emax=max(abs(e(:)));
[h,x]=hist(e(:),emax);
if length(h)>=1
figure;bar(x,h,'k');
%对称地显示误差图像
emax=emax/scale;
e=mat2gray(e,[-emax,emax]);
figure,imshow(e);
end
end
compare.m
最新推荐文章于 2023-11-12 20:16:07 发布