<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);">PSNR(Peak Signal to Noise Ratio)峰值信噪比,是一种全参考的图像质量评价指标。计算公式如下:</span>
其中,MSE表示当前图像X和参考图像Y的均方误差(MeanSquare Error),H、W分别为图像的高度和宽度;n为每像素的比特数,一般取8,即像素灰阶数为256. PSNR的单位是dB,数值越大表示失真越小。
PSNR是最普遍和使用最为广泛的一种图像客观评价指标,然而它是基于对应像素点间的误差,即 基于误差敏感的图像质量评价。由于并未考虑到人眼的视觉特性(人眼对空间频率较低的对比差异敏感度较高,人眼对亮度对比差异的敏感度较色度高,人眼对一个 区域的感知结果会受到其周围邻近区域的影响等),因而经常出现评价结果与人的主观感觉不一致的情况。
计算如下:
src = double(imread('src.bmp'));
dst = double(imread('dst.bmp'));
diff_img = src - dst;
diff_img_x = diff_img(:,:,1);
diff_img_y = diff_img(:,:,2);
diff_img_z = diff_img(:,:,3);
diff_square = (diff_img_x.^2 + diff_img_y.^2 + diff_img_z.^2);
diff_mean = mean(mean(diff_square));
val = 255;
psnr = 10*log10((val^2)/diff_mean);