web-dev-qa-db-fra.com

Indicateurs cv2.imread introuvables

J'ai récemment commencé à travailler avec openCV et python et j'ai décidé d'analyser quelques exemples de code pour avoir une idée de la façon dont les choses se font.

Cependant, l'exemple de code que j'ai trouvé continue de générer cette erreur:

Traceback (most recent call last):
File "test.py", line 9, in <module>
img = cv2.imread(sys.argv[1],cv2.CV_LOAD_IMAGE_COLOR) ## Read image file
AttributeError: 'module' object has no attribute 'CV_LOAD_IMAGE_COLOR'

Le code que j'utilisais se trouve ci-dessous:

import cv2
import sys
import numpy as np

if len(sys.argv) != 2: ## Check for error in usage syntax
    print "Usage : python display_image.py <image_file>"

else:
    img = cv2.imread(sys.argv[1], cv2.CV_LOAD_IMAGE_COLOR) ## Read image file

if img == None: ## Check for invalid input
    print "Could not open or find the image"
else:
    cv2.namedWindow('Display Window') ## create window for display
    cv2.imshow('Display Window', img) ## Show image in the window
    print "size of image: ", img.shape ## print size of image
    cv2.waitKey(0) ## Wait for keystroke
    cv2.destroyAllWindows() ## Destroy all windows

Est-ce un problème avec mon installation? J'ai utilisé ce site Web comme guide pour installer python et openCV.

21
Elijah1210

OpenCV 3.0 est venu avec quelques changements d'espace de noms, et cela pourrait être l'un d'entre eux. La référence de fonction donnée dans l'autre réponse est pour OpenCV 2.4.11, et malheureusement il y a des renommages importants, y compris des paramètres énumérés.

Selon le exemple OpenCV 3.0 ici , le paramètre correct est cv2.IMREAD_COLOR.

Selon le OpenCV 3.0 Reference Manual for C , CV_LOAD_IMAGE_COLOR est toujours là.

Et ma conclusion à partir des ressources ci-dessus et ici , ils l'ont changé dans OpenCV 3.0 python.

Pour l'instant, le meilleur à utiliser ressemble à ceci:

img = cv2.imread("link_to_your_file/file.jpg", cv2.IMREAD_COLOR) 
38
ilke444