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.
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)