2007年4月26日 星期四

計算RMSE(Root Mean Square Error)

上週老師在上課最後提到MSE和PSNR,這兩個都是用來檢測兩張圖是否相似。
MSE的公式為:





PSNR的公式為:





MSE的值愈小,表示兩張圖愈相近。PSNR的愈大,表示兩張圖愈相近。
我試著寫了一個計算MSE和PSNR的小程式,計算方式是先分別將同座標的RGB值相減,
接著將相減後的值平方,累積所有平方後的值,最後累積值除以pixel數便是MSE。
片斷程式碼如下:
r = (point1[x*3+2]-point2[x*3+2])*(point1[x*3+2]-point2[x*3+2]);
g = (point1[x*3+1]-point2[x*3+1])*(point1[x*3+1]-point2[x*3+1]);
b = (point1[x*3]-point2[x*3])*(point1[x*3]-point2[x*3]);
sum = sum+r+g+b;
mse = sum/Hight*Width;
我不太確定這樣計算是否正確,希望其他人可以發表自己查到的結果,供大家討論。
程式執行圖片如下:

沒有留言: