2013-10-24 14 views
8

काम नहीं करता मैं एक openCV कोड लिखा है और मेरे कोड बयान निम्नलिखित है:OpenCV imshow()

cv::imshow("Matches", matchesImg); 
cv::waitKey(0); 

जब मैं कोड या तो डिबग में या रिलीज चलाने मैं जो मुझे पता चलता खिड़की को देखने के लिए सक्षम नहीं हूँ उत्पादन।

और यह मेरे द्वारा बनाई गई हर परियोजना के लिए हो रहा है।

कारण जानने में सक्षम नहीं है, क्या कोई मुझे इस पर मार्गदर्शन कर सकता है?

मैं, विंडोज 7 और विजुअल स्टूडियो 2010 पर कोडिंग कर रहा हूँ 2.4.6

+0

क्या आप दिखा सकते हैं कि आप कैसे आत्मविश्वास से मेल खाते हैं IGG मान्य है? आपको क्या त्रुटि मिल रही है? – KobeJohn

+0

सुनिश्चित करें कि मैच Img खाली नहीं है। – ChronoTrigger

+0

कोई छवि खाली नहीं है। समस्या यह है कि मुझे कोई त्रुटि नहीं मिलती है। मेरा कोड ठीक चलाता है। जब मैं इमेराइट का उपयोग कर छवि को सहेजता हूं तो मुझे उचित आउटपुट मिलता है। केवल शो किसी भी कोड में काम नहीं करता है। मैंने सामान को पुनः स्थापित करने का भी प्रयास किया। –

उत्तर

3

की opencv संस्करण के साथ मैं टिप्पणी में उल्लेख किया है, आप पहली बार एक खिड़की बनाने के लिए, के रूप में एक ही विंडो नाम के साथ namedWindow का उपयोग कर imshow विवरण के लिए यह tutorial देखें।

संपादित

This दृढ़ता से सुझाव है कि आप पहले से विंडो बनाने के लिए किया है। कुछ लोग तर्क दे सकते हैं कि यह OpenCV के पिछले संस्करणों के लिए इस तरह से काम नहीं करता है। फिर, मान लें कि यह समाधान कम से कम ओपनसीवी 2.4.6 पर लागू होता है, जो यहां चिंता का संस्करण है (और यह समस्या हल करता है)।

+1

हालांकि यह 2.4.6 के लिए सच हो सकता है, यह 2.4.4 पर (मेरे लिए, कम से कम नहीं) है। – Bull

+0

मुझे लगता है कि ओपनसीवी 1.0 के बाद से यह सच रहा है। तुम्हारे लिए क्यों नहीं? – CTZStef

+1

मैंने अभी 2.4.4 स्रोत की जांच की है। 'imshow() 'केवल' cvShowImage()' और, विंडोज पर कम से कम कॉल करता है, अगर नामित विंडो पहले से मौजूद नहीं है 'cvNamedWindow()' इसे बनाने के लिए कहा जाता है। इसलिए आपका उत्तर विंडोज 7 पर ओपनसीवी 2.4.4 पर लागू नहीं होता है, और संभवतः अन्य प्लेटफ़ॉर्म नहीं। – Bull