用MATLAB求RMSE
答案:1 悬赏:60 手机版
解决时间 2021-03-31 15:46
- 提问者网友:饥饿走向夜
- 2021-03-30 16:38
用MATLAB求RMSE
最佳答案
- 五星知识达人网友:动情书生
- 2021-03-30 17:46
function f=RMSE(h1,h2)
%RMSE return RMSE(均方根误差) 求两图像的均方根误差
%input must be a imagehandle 输入图像句柄
%image fusion evaluate parameter 图像融合评价参数
% example
% 标准图像 h1
% 融合后图像 h2
% f=RMSE(h1,h2);
%融合图像与标准图像差异程度,差异越小说明融合图像与标准图像越接近
s=size(size(h1));%判断是灰度图还是RGB
if s(2)==2
f1=h1;
f2=h2;
else
f1=rgb2gray(h1);
f2=rgb2gray(h2);
end
G1=double(f1);
G2=double(f2);
[m1,n1]=size(G1);
[m2,n2]=size(G2);
m=min(m1,m2);
n=min(n1,n2);
c=0;
for i=1:m
for j=1:n
w=G1(i,j)-G2(i,j);
c=c+w^2;
end
end
f=sqrt(c/(m*n));
%RMSE return RMSE(均方根误差) 求两图像的均方根误差
%input must be a imagehandle 输入图像句柄
%image fusion evaluate parameter 图像融合评价参数
% example
% 标准图像 h1
% 融合后图像 h2
% f=RMSE(h1,h2);
%融合图像与标准图像差异程度,差异越小说明融合图像与标准图像越接近
s=size(size(h1));%判断是灰度图还是RGB
if s(2)==2
f1=h1;
f2=h2;
else
f1=rgb2gray(h1);
f2=rgb2gray(h2);
end
G1=double(f1);
G2=double(f2);
[m1,n1]=size(G1);
[m2,n2]=size(G2);
m=min(m1,m2);
n=min(n1,n2);
c=0;
for i=1:m
for j=1:n
w=G1(i,j)-G2(i,j);
c=c+w^2;
end
end
f=sqrt(c/(m*n));
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯