PSNR-峰值信噪比
PSNR的全称为“Peak Signal-to-Noise Ratio”,直译为中文就是峰值信噪比。是一种衡量图像质量的指标。在很多领域都会需要这个指标,比如在超分辨率重建图像的时候,PSNR就是很重要的指标了。
给定一个大小为
m
×
n
m×n
m×n的干净图像
I
I
I和噪声图像
K
K
K,均方误差 (MSE) 定义为:
然后
P
S
N
R
(
d
B
)
PSNR(dB)
PSNR(dB)就定义为:
其中
M
A
X
i
MAX_{i}
MAXi为图片可能的最大像素值。如果每个像素都由 8 位二进制来表示,那么就为 255。通常,如果像素值由B位二进制来表示,那么
M
A
X
i
=
2
B
−
1
MAX_{i}=2B−1
MAXi=2B−1。一般地,针对 uint8 数据,最大像素值为 255;针对浮点型数据,最大像素值为 1。
上面是针对灰度图像的计算方法,如果是彩色图像,通常有三种方法来计算:
- 分别计算 RGB 三个通道的 PSNR,然后取平均值;
- 计算 RGB 三通道的 MSE ,然后再除以 3;
- 将图片转化为 YCbCr 格式,然后只计算 Y 分量也就是亮度分量的 PSNR。
MSE越小,则PSNR越大;所以PSNR越大,代表着图像质量越好。一般来说:
- PSNR高于40dB说明图像质量极好(即非常接近原始图像);
- 在30—40dB通常表示图像质量是好的(即失真可以察觉但可以接受);
- 在20—30dB说明图像质量差;
- 低于20dB图像不可接受。