ImportError: cannot import name 'dnn_superres' for python example of super resolution with opencv
ImportError: cannot import name 'dnn_superres' for python example of super resolution with opencv
我正在尝试 运行 来自以下网站的放大图像的示例:
https://towardsdatascience.com/deep-learning-based-super-resolution-with-opencv-4fd736678066
这是我使用的代码:
import cv2
from cv2 import dnn_superres
# Create an SR object
sr = dnn_superres.DnnSuperResImpl_create()
# Read image
image = cv2.imread('butterfly.png')
# Read the desired model
path = "EDSR_x3.pb"
sr.readModel(path)
# Set the desired model and scale to get correct pre- and post-processing
sr.setModel("edsr", 3)
# Upscale the image
result = sr.upsample(image)
# Save the image
cv2.imwrite("./upscaled.png", result)
我已经从网站下载了已经训练好的模型,名为 "EDSR_x3.pb",当我 运行 代码时,我收到以下错误:
Traceback (most recent call last):
File "upscale.py", line 2, in <module>
from cv2 import dnn_superres
ImportError: cannot import name 'dnn_superres'
我现在好像没有这样的方法还是class,但是我已经安装了opencv和contrib模块。为什么会出现此错误?
我用Python3.6.9和opencv 4.2.0也有同样的问题,升级到4.3.0后问题消失了。如果升级版本没问题,试试4.3.0.
你的opencv版本应该是opencv4.2.0+,同问:
https://github.com/opencv/opencv_contrib/issues/2544
解决方案:
pip install --upgrade opencv-python
pip install --upgrade opencv-contrib-python
密钥在 opencv-python 的 documentation 中。 dnn_superres 是一个额外的模块,需要您安装 opencv-contrib-python
pip install opencv-contrib-python
从这个日期开始,为当前接受的答案添加一些内容:
如果您在本地系统中执行此操作:
如果你有
opencv-python
需要先卸载,可以通过命令查看是否有以上包:
pip show opencv-python
如果有,请先卸载
pip uninstall opencv-python
并安装
opencv-contrib-python
由
pip install opencv-contrib-python
默认情况下它会下载最新版本,但仍然通过上面的 show 命令检查版本 opencv-contrib-python这次只是为了检查版本是否在opencv4.2.0+以上,强制下载特定版本通过这个:pip install package_name==version_number
如果您在 Google Colab 中执行此操作:
opencv-python已经安装在colab中,但是版本是4.1.2,可以通过:
import cv2
cv2.__version__
你不需要卸载它,你只需要安装 opencv-contrib-python 但是如果你通过 :
安装
!pip install opencv-contrib-python
它不会安装它,它会默认为相同的预装 opencv
所以 运行 这个 :
!pip install opencv-contrib-python==
这将输出 colab 的所有可用版本,只是 select 任何版本 4.3.x 或更高版本以及再次 运行,例如:
!pip install opencv-contrib-python==4.3.0.36
运行 将以下命令输入您的终端
pip install --upgrade opencv-contrib-python
pip install --upgrade opencv-python
然后,重启你的Jupyter notebok内核或者重新激活你的虚拟环境,这样更新后的包就可以正常使用了。
我正在尝试 运行 来自以下网站的放大图像的示例: https://towardsdatascience.com/deep-learning-based-super-resolution-with-opencv-4fd736678066
这是我使用的代码:
import cv2
from cv2 import dnn_superres
# Create an SR object
sr = dnn_superres.DnnSuperResImpl_create()
# Read image
image = cv2.imread('butterfly.png')
# Read the desired model
path = "EDSR_x3.pb"
sr.readModel(path)
# Set the desired model and scale to get correct pre- and post-processing
sr.setModel("edsr", 3)
# Upscale the image
result = sr.upsample(image)
# Save the image
cv2.imwrite("./upscaled.png", result)
我已经从网站下载了已经训练好的模型,名为 "EDSR_x3.pb",当我 运行 代码时,我收到以下错误:
Traceback (most recent call last):
File "upscale.py", line 2, in <module>
from cv2 import dnn_superres
ImportError: cannot import name 'dnn_superres'
我现在好像没有这样的方法还是class,但是我已经安装了opencv和contrib模块。为什么会出现此错误?
我用Python3.6.9和opencv 4.2.0也有同样的问题,升级到4.3.0后问题消失了。如果升级版本没问题,试试4.3.0.
你的opencv版本应该是opencv4.2.0+,同问: https://github.com/opencv/opencv_contrib/issues/2544
解决方案:
pip install --upgrade opencv-python
pip install --upgrade opencv-contrib-python
密钥在 opencv-python 的 documentation 中。 dnn_superres 是一个额外的模块,需要您安装 opencv-contrib-python
pip install opencv-contrib-python
从这个日期开始,为当前接受的答案添加一些内容:
如果您在本地系统中执行此操作:
如果你有
opencv-python
需要先卸载,可以通过命令查看是否有以上包:
pip show opencv-python
如果有,请先卸载
pip uninstall opencv-python
并安装
opencv-contrib-python
由
pip install opencv-contrib-python
默认情况下它会下载最新版本,但仍然通过上面的 show 命令检查版本 opencv-contrib-python这次只是为了检查版本是否在opencv4.2.0+以上,强制下载特定版本通过这个:pip install package_name==version_number
如果您在 Google Colab 中执行此操作:
opencv-python已经安装在colab中,但是版本是4.1.2,可以通过:
import cv2
cv2.__version__
你不需要卸载它,你只需要安装 opencv-contrib-python 但是如果你通过 :
安装!pip install opencv-contrib-python
它不会安装它,它会默认为相同的预装 opencv
所以 运行 这个 :
!pip install opencv-contrib-python==
这将输出 colab 的所有可用版本,只是 select 任何版本 4.3.x 或更高版本以及再次 运行,例如:
!pip install opencv-contrib-python==4.3.0.36
运行 将以下命令输入您的终端
pip install --upgrade opencv-contrib-python
pip install --upgrade opencv-python
然后,重启你的Jupyter notebok内核或者重新激活你的虚拟环境,这样更新后的包就可以正常使用了。