看板 MATLAB 關於我們 聯絡資訊
各位好~~ 最近求兩張影像的均方根誤差(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
jeff126f:有些問題 1.RMSE 應該是比較影像處理前後的結構相似程度 03/14 23:25
jeff126f:圖片大小應該本來就要相同了吧 03/14 23:25
jeff126f:2.你的結果是f吧 怎麼會輸出c呢? = = 03/14 23:26
jeff126f:應該是 " fprintf(1,'RMSE= %7.3f ', f); " 吧 03/14 23:27
yfr:恩,樓上說的對,圖片(矩陣)要維度相同才能求均方根誤差吧 03/15 15:07
yfr:維度相同也不用用迴圈,直接c = sqrt(sum(sum(G1-G2))); 03/15 15:08