psnr 计算

允我心安 提交于 2019-12-26 16:29:25

PSNRPeak Signal to Noise Ratio的缩写,峰值信噪比。psnr一般是用于最大值信号和背景噪音之间的一个工程项目。

                    

 

PSNR计算公式如下:


 

 

                       

8bits表示法中,peak的最大值为255MSEMean Square Error(均方误差);I(角标n):指原始影像第npixel值;P(角标n):指经处理后的影像第npixel值。

              

PSNR的单位为dB。所以PSNR值越大,就代表失真越少。

                               

 

Matlab实现:

                         

% func——计算两幅图像的psnr

function result=psnr(in1,in2)

 

in1=imread('feature.jpg');

in2=imread('landmark.jpg');

z=mse(in1,in2);

result=10*log10(255.^2/z);

 

function z=mse(x,y)

x=double(x);

y=double(y);

[m,n]=size(x);

z=0;

for i=1:m

    for j=1:n

        z=z+(x(i,j)-y(i,j)).^2;

    end

end

z=z/(m*n);

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!