峰值信噪比#
峰值信噪比(Peak Signal-to-Noise Ratio,简写为 PSNR)是一种衡量图像在压缩后质量下降程度的指标。这通常可以通过肉眼观察到,但它会赋予固定的数值。它将原始图像与压缩后的图像进行比较,并将差异表示为比率。
PSNR 值越高,表示压缩后的图像质量越接近原始图像,表明质量损失较少。PSNR值越低,表示可见的降质越多。PSNR通常与MSE一起使用,PSNR提供了一个更易于解释的尺度,数值越高越好。
以下是一些用于测量 PSNR 的 Python 代码:
def calculate_psnr(img1, img2):
mse = calculate_mse(img1, img2)
if mse == 0:
return float('inf')
max_pixel = 255.0
return 20 * np.log10(max_pixel / np.sqrt(mse))
psnr = calculate_psnr(original_img, compressed_img)
print(f"PSNR: {psnr:.2f} dB")