web-dev-qa-db-ja.com

ImportError:python opencvでの超解像度の例)の名前「dnn_superres」をインポートできません

次のウェブサイトから画像を拡大する例を実行しようとしています: 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」と呼ばれる、すでにトレーニングされたモデルをWebサイトからダウンロードしました。コードを実行すると、次のエラーが発生します。

Traceback (most recent call last):
  File "upscale.py", line 2, in <module>
    from cv2 import dnn_superres
ImportError: cannot import name 'dnn_superres'

現在、そのようなメソッドやクラスはないようですが、opencvとcontribモジュールはすでにインストールしています。このエラーが発生するのはなぜですか?

2
Al Jenssen

Python 3.6.9とopencv 4.2.0でも同じ問題がありましたが、4.3.0にアップグレードすると問題が解決しました。バージョンのアップグレードで問題がなければ、4.3を試してください。 0。

1
Paseul