PSNR是“Peak Signal to Noise Ratio”的缩写,峰值信噪比。psnr一般是用于最大值信号和背景噪音之间的一个工程项目。
PSNR计算公式如下:
8bits表示法中,peak的最大值为255;MSE指Mean Square Error(均方误差);I(角标n):指原始影像第n个pixel值;P(角标n):指经处理后的影像第n个pixel值。
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); |