python实现psnr代码
时间: 2023-09-30 18:09:06 浏览: 115
一文搞懂python求不同分辨率图像的峰值信噪比.pdf
计算两张图像之间的 PSNR (峰值信噪比)可以使用以下 Python 代码实现:
```python
import cv2
import numpy as np
def psnr(img1, img2):
mse = np.mean((img1 - img2) ** 2)
if mse == 0:
return 100
PIXEL_MAX = 255.0
return 20 * np.log10(PIXEL_MAX / np.sqrt(mse))
# 读取两张图像
img1 = cv2.imread("image1.png")
img2 = cv2.imread("image2.png")
# 计算 PSNR 值
print("PSNR value is {}".format(psnr(img1, img2)))
```
其中,`img1` 和 `img2` 分别为两张要比较的图像,可以使用 OpenCV 库读取。`psnr` 函数计算两张图像之间的 MSE(均方误差),并根据公式计算 PSNR 值。最后,打印出计算得到的 PSNR 值。
阅读全文