作者kuokkk (!)
看板MATLAB
标题[讨论] 求影像的均方根误差(RMSE)
时间Thu Mar 14 12:40:08 2013
各位好~~
最近求两张影像的均方根误差(RMSE)
因为求出来的值很怪异
所以想麻烦版上各位高手 帮忙检视一下 是不是那里出了问题
程式如下:
--------------------------------------------------------------------
h1=imread('1.tif');
h2=imread('2.tif');
s=size(size(h1));
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));
fprintf(1,'RMSE= %7.3f ', c);
---------------------------------------------------------------------
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 36.238.186.167
1F:→ jeff126f:有些问题 1.RMSE 应该是比较影像处理前後的结构相似程度 03/14 23:25
2F:→ jeff126f:图片大小应该本来就要相同了吧 03/14 23:25
3F:→ jeff126f:2.你的结果是f吧 怎麽会输出c呢? = = 03/14 23:26
4F:→ jeff126f:应该是 " fprintf(1,'RMSE= %7.3f ', f); " 吧 03/14 23:27
5F:推 yfr:恩,楼上说的对,图片(矩阵)要维度相同才能求均方根误差吧 03/15 15:07
6F:→ yfr:维度相同也不用用回圈,直接c = sqrt(sum(sum(G1-G2))); 03/15 15:08