Traceback (most recent call last): File "C:\Users\86158\PycharmProjects\pythonProject\psnr.py", line 17, in <module> print(psnr(img1, img2)) File "C:\Users\86158\PycharmProjects\pythonProject\psnr.py", line 9, in psnr mse = np.mean((img1-img2)**2) ValueError: operands could not be broadcast together with shapes (935,1920,3) (1200,1920,3)
时间: 2023-09-03 14:10:57 浏览: 91
这个错误提示是因为您的两张图片的尺寸不同,无法进行运算。在计算 PSNR 时,需要保证两张图片的尺寸大小相等,可以将其中一张图片调整为与另一张图片相同的尺寸。您可以使用 OpenCV 提供的 `resize()` 函数将图片进行缩放,使其尺寸相同,然后再计算 PSNR,具体实现方法如下:
```
import cv2
import numpy as np
def psnr(img1, img2):
# 将图片的尺寸调整为相同的大小
img1 = cv2.resize(img1, (img2.shape[1], img2.shape[0]))
# 计算 MSE
mse = np.mean((img1 - img2) ** 2)
# 计算 PSNR
if mse == 0:
return float('inf')
else:
pixel_max = 255.0
psnr = 20 * np.log10(pixel_max / np.sqrt(mse))
return psnr
img1 = cv2.imread('image1.jpg')
img2 = cv2.imread('image2.jpg')
print(psnr(img1, img2))
```
注意,缩放后的图片可能会失真,从而影响 PSNR 的计算结果。因此,尽量保证两张图片的尺寸相同,或者使用其他的图像质量评价指标。
相关问题
运行报错C:\Users\Administrator\PycharmProjects\pythonProject\venv\Scripts\python.exe C:/Users/Administrator/PycharmProjects/pythonProject/main.py Traceback (most recent call last): File "C:/Users/Administrator/PycharmProjects/pythonProject/main.py", line 1, in <module> import pymysql ModuleNotFoundError: No module named 'pymysql'
这个错误提示是因为你的项目中没有安装pymysql模块,你需要在命令行中输入以下命令来安装pymysql模块:
```
pip install pymysql
```
如果你使用的是PyCharm开发环境,可以直接在PyCharm的Terminal中输入以上命令,也可以在PyCharm的Project Interpreter中搜索pymysql并安装。安装完成后,重新运行你的代码即可。
C:\Users\Lenovo\PycharmProjects\pythonProject\venv\Scripts\python.exe C:\Users\Lenovo\PycharmProjects\pythonProject\first.py Traceback (most recent call last): File "C:\Users\Lenovo\PycharmProjects\pythonProject\first.py", line 1, in <module> from selenium.webdriver import Chrome ModuleNotFoundError: No module named 'selenium' Process finished with exit code 1
根据你的错误信息,看起来你在运行一个名为 "first.py" 的 Python 程序时出现了错误,错误原因是找不到名为 "selenium" 的模块。这个问题的解决方法是安装 selenium 模块,你可以在命令行中使用以下命令安装:
```
pip install selenium
```
如果你已经安装了 selenium 模块,那么可能是你的 Python 程序没有正确地设置环境变量,你需要检查一下你的环境变量是否设置正确。
阅读全文