评估PSNR的恢复质量

时间:2014-06-04 19:44:34

标签: image matlab image-processing

我想测量图像恢复算法的质量,我正在测量peak signal to noise ratio

function Q=psnr(ImRef,ImDis)
    ImRef=double(ImRef);
    ImDis=double(ImDis);
if (mean2((ImRef-ImDis).^2)~=0)
   x=max(max(ImRef))^2;
   Q=10*log10(x/mean2((ImRef-ImDis).^2));
else 
   Q=0;
end;
return

其中ImRefImDis是参考图像和恢复的图像,当我从图像中取出时,整个图像的测量psnr是不同的。测量部分图像的psnr是否有意义?

2 个答案:

答案 0 :(得分:1)

作为SNR变换的PSNR确实是像素数的函数 因此,预计它会针对不同大小的补丁进行更改。

关于另一部分,嗯,如果你想恢复焦点小姐模糊,你恢复某些"深度"测量该区域的信噪比是有意义的 我认为没问题。

但主要的是PSNR并不是衡量修复质量的好方法。
SSIM将是一个更好的起点。

答案 1 :(得分:1)

您可以像这样简单地计算PSNR:

PSNR = 10*log10(max(ImRef(:))^2/mse(ImRef(:)-ImDis(:))) ;
相关问题