2013-09-25 18 views
11

私は最近、openCVとPythonで作業を開始し、いくつかのサンプルコードを分析して、仕組みの仕組みを理解することにしました。私が使っていたコードは以下の見つけることができますcv2.imread flags not found

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' 

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 

これは私のインストールに問題です

しかし、私が見つけたサンプルコードは、このエラーを投げ続けていますか?私はthis websiteを使ってpythonとopenCVをインストールしました。

+1

。 'import cv2'の後に、' print cv2 .__ file__'を追加して、それが何を言うのか教えてください。インポートしようとしている 'cv2'モジュールはあなたが思っているものではない可能性があります。 – DSM

+0

@DSM私がprint cv2 .__ file__を入力すると、 /usr/local/lib/python2.7/dist-packages/cv2.so – Elijah1210

+1

@ Elijah1210が表示されます。 'cv2 .__ version__'とは何ですか?また、 '1'をフラグとして使用してください(' 1'は 'CV_LOAD_IMAGE_COLOR'フラグの値です)。 – Igonato

答えて

19

を見て見て、これはその一つであるかもしれません。他の答えで与えられている関数のリファレンスはOpenCV 2.4.11です。残念ながら、列挙されたパラメータを含む重要な名前があります。

OpenCV 3.0 Example hereによれば、正しいパラメータはcv2.IMREAD_COLORです。

OpenCV 3.0 Reference Manual for Cによれば、CV_LOAD_IMAGE_COLORはまだ存在します。

上記のリソースとhereの結論から、彼らはOpenCV 3.0のPython実装でそれを変更しました。今の

、使用することをお勧めは、次のように思える:私の作品

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

これは試しましたか?

import cv2 
import sys 
import numpy as np 


cv2.CV_LOAD_IMAGE_COLOR = 1 # set flag to 1 to give colour image 
#cv2.CV_LOAD_IMAGE_COLOR = 0 # set flag to 0 to give a grayscale one 


img = cv2.imread("link_to_your_file/file.jpg", cv2.CV_LOAD_IMAGE_COLOR) 


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 

imreadはまた、いくつかの名前空間の変更になりましたthis OpenCVの3.0