原创
计算PSNR
2011-3-3 10:11
4184
1
1
分类:
软件与OS
PSNR是“Peak Signal to Noise Ratio”的缩写,峰值信噪比。psnr一般是用于最大值信号和背景噪音之间的一个工程项目。
PSNR计算公式如下
PSNR(db) = 10log(10)(2^n-1)^2/MSE
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);
文章评论(0条评论)
登录后参与讨论