web-dev-qa-db-fra.com

ImporterRor: Impossible d'importer le nom 'Dnn_superres' pour python Exemple de super résolution avec OpenCV

J'essaie de gérer un exemple d'amortissement d'amortissement à partir du site Web suivant: https://towardsdaScience.com/deep-learning-based-super-resolution-withoopencv-4fd736678066

C'est le code que j'utilise:

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)

J'ai téléchargé le modèle déjà formé du site Web, appelé "edsr_x3.pb" et quand j'exécute le code, je reçois l'erreur suivante:

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

Je semble maintenant qu'il semble qu'il n'y ait pas de méthode ou de classe de ce type, mais j'ai déjà installé OpenCV et les modules de contributions. Pourquoi ai-je cette erreur?

6
Al Jenssen

J'ai eu le même problème avec Python 3.6.9 et OpenCV 4.2.0, mais après la mise à niveau 4.3.0, le problème a disparu. Si vous n'avez aucun problème à mettre à niveau la version, essayez 4.3. 0.

1
Paseul

À compter de cette date, ajouter quelque chose à la réponse actuellement acceptée :

Si vous le faites dans votre système local:

Si tu as

opencv-python

vous devez d'abord le désinstaller, vous pouvez vérifier si vous avez au-dessus de l'emballage ou non de la commande:

pip show opencv-python

si vous l'avez, désinstallez d'abord

pip uninstall opencv-python

et installer

opencv-fort-python

par

pip install opencv-contrib-python

par défaut, il téléchargera la dernière version mais vérifie toujours la version par the show Commande ci-dessus pour OpenCV-contribut-python cette heure, juste pour vérifier la version est au-dessus de OpenCV4.2.0 +, pour forcer Télécharger une version plus spéicifique passerai par ceci: package de package pack pack == version_number

Si vous le faites dans Google Colab:

OpenCV-Python est déjà installé dans Colab mais la version est 4.1.2, vous pouvez le vérifier:

import cv2
cv2.__version__

vous n'avez pas besoin de le désinstaller, il vous suffit d'installer OpenCV-PTT-PTYON Mais si vous installez par:

!pip install opencv-contrib-python

Ça ne l'installera pas, il ne serait pas par défaut à même Preinstalled OpenCV

alors courez ceci:

!pip install opencv-contrib-python==

qui produira toutes les versions disponibles pour Colab, sélectionnez simplement une version 4.3.x ou ci-dessus et exécutez à nouveau, comme:

!pip install opencv-contrib-python==4.3.0.36

1
Arnav Das