用pycharm求图像psnr
时间: 2024-02-07 16:36:47 浏览: 105
影像算psnr
要计算图像的 PSNR 值,需要使用 Python 的图像处理库 Pillow 和 numpy。以下是一个简单的示例代码:
```python
from PIL import Image
import numpy as np
def psnr(img1, img2):
# 将图像转换为 numpy 数组
arr1 = np.array(img1).astype('float')
arr2 = np.array(img2).astype('float')
# 计算 MSE 值
mse = np.mean((arr1 - arr2) ** 2)
# 计算 PSNR 值
if mse == 0:
return float('inf')
else:
max_val = 255.0
psnr = 20 * np.log10(max_val / np.sqrt(mse))
return psnr
# 加载图像
img1 = Image.open('image1.jpg')
img2 = Image.open('image2.jpg')
# 计算 PSNR 值
print('PSNR:', psnr(img1, img2))
```
其中,`img1` 和 `img2` 分别是要比较的两张图像。在这个示例中,我们使用 `Image.open()` 函数从文件中加载图像。如果你有图像的 numpy 数组,可以使用 `Image.fromarray()` 函数将其转换成 PIL 图像。
阅读全文