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); |