2013-09-25 22 views
11

मैंने हाल ही में ओपनसीवी और पायथन के साथ काम करना शुरू कर दिया और कुछ नमूना कोड का विश्लेषण करने का फैसला किया कि चीजें कैसे की जाती हैं।cv2.imread ध्वज नहीं मिला

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 का उपयोग किया।

+1

वह मेरे लिए काम करता है। 'आयात cv2' के बाद, क्या आप' प्रिंट cv2 .__ file__' जोड़ सकते हैं और हमें बताएं कि यह क्या कहता है? यह संभव है कि आप जिस सीवी 2' मॉड्यूल को आयात कर रहे हैं वह वह नहीं है जिसे आप सोचते हैं। – DSM

+0

@DSM जब मैं प्रिंट cv2 टाइप करता हूं .__ file__ मुझे /usr/local/lib/python2.7/dist-packages/cv2.so – Elijah1210

+1

@ Elijah1210 यह ठीक लग रहा है। 'Cv2 .__ संस्करण__' क्या कहता है? ध्वज के रूप में '1' का उपयोग करके इसे भी आज़माएं (' 1' 'CV_LOAD_IMAGE_COLOR' ध्वज का मान है)। – Igonato

उत्तर

19

OpenCV 3.0 पर एक नज़र कुछ नाम स्थान में परिवर्तन के साथ आया था, और यह उनमें से एक हो सकता है। दूसरे उत्तर में दिया गया फ़ंक्शन संदर्भ ओपनसीवी 2.4.11 के लिए है, और दुर्भाग्य से महत्वपूर्ण पैरामीटर समेत महत्वपूर्ण नामांकन हैं।

OpenCV 3.0 Example here के अनुसार, सही पैरामीटर cv2.IMREAD_COLOR है।

OpenCV 3.0 Reference Manual for C के अनुसार, CV_LOAD_IMAGE_COLOR अभी भी वहां है।

और उपर्युक्त संसाधनों और here से मेरा निष्कर्ष, उन्होंने इसे ओपनसीवी 3.0 पायथन कार्यान्वयन में बदल दिया।

अभी के लिए, सबसे अच्छा उपयोग करने के लिए निम्नलिखित की तरह लगता है:

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

संबंधित मुद्दे