2017-08-29 2 views
0

Une question similaire à la mienne existe, mais elle ne répond pas à ma question.Python + opencv avec PyCharm- 'opencv' n'a pas d'attribut 'imread'

Voici ce que je travaille avec:.

Python v 3.6.2
OpenCV 1.0.1
PyCharm Community Edition 2017 .2.2
macOS Sierra Version 10.12.6

J'essaie d'utiliser imread pour le traitement d'image. J'ai regardé la documentation et j'utilise la fonction correctement. Voici le code de test qui est livré avec la bibliothèque OpenCV:

import opencv 
img = cv.imread('background.png') 
if img is None: 
    print("Image not loaded!") 
else: 
    print("Image is loaded!") 

je peux voir mes fichiers python et des modules dans l'explorateur de projet. Quand je lance le code, je reçois l'erreur suivante:

/Library/Frameworks/Python.framework/Versions/3.6/bin/python3.6/Utilisateurs/lmc/Desktop/pywerk/opencvpractice retraçage (le plus récent appel dernière): fichier "/ Users/lmc/Desktop/pywerk/opencvpractice", ligne 4, dans img = cv.imread ('background.png') AttributeError: module 'OpenCV' n'a pas d'attribut 'imread'

J'ai tout essayé depuis la réinstallation de python et du module opencv jusqu'à la commutation des versions python vers la version 2.7 (et en utilisant le module opencv correspondant) et j'ai la même erreur.

Y a-t-il une sorte de configuration système que je pourrais manquer? Toute aide serait très appréciée.

+3

Est-ce que vous utilisez l'OpenCV 1.x obsolète au lieu d'OpenCV 2.x ou 3.x avec le module 'cv2'? Le module 'cv2' utilise un backend' numpy' pour le stockage d'image, ce qui le rend de loin supérieur pour travailler avec les données.Quoi qu'il en soit, la réponse ci-dessous devrait vous corriger; vous importez 'opencv' tout en utilisant l'espace de noms' cv' que vous n'avez pas défini. –

+1

OpenCV ** 1.0.1 **? [Aucune version de ce type n'a été publiée] (http://code.opencv.org/projects/opencv/wiki/ChangeLog_v10-v21#10), mais même si c'était le cas, cela aurait précédé Python 3.0 d'environ 2 ans. On dirait que c'est un non-sens ... peut-être [ce peu de camelote] (https://pypi.python.org/pypi/opencv/1.0.1) dans l'index du paquet. –

Répondre

1

Il s'avère que c'était une combinaison de plusieurs d'entre eux suggestions; si je pouvais donner les réponses à Alexander Reynolds, ce serait le plus précis. Je suivais un tutoriel obsolète et me suis retrouvé avec une version obsolète d'opencv. J'ai téléchargé OpenCV en suivant les instructions ici, pour toute autre personne qui recherche les commandes exactes:

https://pypi.python.org/pypi/opencv-python/3.1.0.3

Voici ce que j'ai fini avec:

import cv2 

img = cv2.imread('background.png') 
if img is None: 
    print("Image not loaded!") 
else: 
    print("Image is loaded!") 

Merci pour l'aide!

1

peut-être que vous devriez essayer avec opencv.imread?

import opencv 
img = opencv.imread('background.png') 
if img is None: 
    print("Image not loaded!") 
else: 
    print("Image is loaded!") 

ou bien import opencv as cv:

import opencv as cv 
img = cv.imread('background.png') 
if img is None: 
    print("Image not loaded!") 
else: 
    print("Image is loaded!") 
1

Pour OpenCV, il doit être importé comme

import cv 

ou import cv2 (Si vous voulez changer OpenCV V2.x ou 3. x)