2012-02-10 17 views
5

मैं ओपनसीवी में नया हूं और इसके पायथन बाध्यकारी का उपयोग करना चाहता हूं।पायथन सीवी 2 मॉड्यूल क्यों निर्भर करता है (पुराना) सीवी

जब पर OSX नमूने बाहर की कोशिश कर रहा है, मैं

1.) खिड़कियों imshow बनाता आकार बदलने योग्य

2.) मैं cv2.namedWindow, की तरह करने के लिए एक पूर्व कॉल के साथ कि ठीक कर सकते हैं नहीं कर रहे हैं पर ध्यान: cv2.namedWindow ('जूम', cv2.cv.CV_WINDOW_NORMAL)

हम CV2 में सीवी से CV_WINDOW_NORMAL जैसे प्रतीकों को जोड़ सकते हैं? ओपनसीवी के पायथन बाध्यकारी के अधिकार कौन हैं?

धन्यवाद, सेबस्टियन हासे

+0

पायथन बाइंडिंग सी ++ इंटरफेस के आसपास सिर्फ एक रैपर हैं, जो ज्यादातर सी इंटरफेस के चारों ओर एक रैपर है। अपने अंतिम प्रश्न के लिए, ओपनसीवी मेलिंग सूची में एक संदेश भेजें और उनसे पूछें :) – karlphillip

उत्तर

9

वर्तमान नई CV2 lib में कुछ omisions रहे हैं। आम तौर पर ये स्थिरांक होते हैं जिन्हें अभी तक सीवी 2 में माइग्रेट नहीं किया गया है और अभी भी सीवी में हैं। यहाँ आप उन्हें खोजने में मदद करने के लिए कुछ कोड है:

import cv2 
import cv2.cv as cv 
nms = [(n.lower(), n) for n in dir(cv)] # list of everything in the cv module 
nms2 = [(n.lower(), n) for n in dir(cv2)] # list of everything in the cv2 module 

search = 'window' 

print "in cv2\n ",[m[1] for m in nms2 if m[0].find(search.lower())>-1] 
print "in cv\n ",[m[1] for m in nms if m[0].find(search.lower())>-1] 

CV2 के आसपास पिछले सीवी से सी ++ libs एक और अधिक वफादार आवरण है। मैंने इसे पहले भ्रमित कर लिया लेकिन परिवर्तन करने के बाद यह बहुत आसान है। कोड पढ़ने के लिए बहुत आसान है और numpy मैट्रिक्स मैनिपुलेशन बहुत तेज हैं।

मेरा सुझाव है कि आप सीओएस स्थिरांक को ढूंढें और उपयोग करें, जबकि विलुप्त होने पर ओपनसीवी बग ट्रैकर को बग्स के रूप में उनके चूक को रिपोर्ट करते समय। सीवी 2 ताजा और छोटा है लेकिन इसमें सुधार होगा।

एफवाईआई। उपयोग से पहले नामित खिड़कियों को तुरंत चालू करना, बाहर निकलने पर उन्हें मारना भी उचित है। आईएमएचओ

उदा।

import cv2 
if __name__ == '__main__': 
    cap = cv2.VideoCapture(0) # webcam 0 
    cv2.namedWindow("input") 
    cv2.namedWindow("grey") 
    key = -1 
    while(key < 0): 
     success, img = cap.read() 
     cv2.imshow("input", img) 
     grey = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) 
     cv2.imshow("grey", grey) 
     key = cv2.waitKey(1) 
    cv2.destroyAllWindows() 
+0

उत्तर के लिए धन्यवाद - क्या आप जानते हैं कि कौन से (कितने लोग) उन फिक्सेस (पायथन बाध्यकारी पर) करने का अधिकार रखते हैं? – sebhaase

+0

नहीं - क्षमा करें। सुझाव है कि आप देव माइलिस्ट से जुड़ें/सदस्यता लें और पूछें। बहुत अच्छी मददगार भीड़। – Neon22

+0

जो मेलिंग सूची को ठीक करने के इच्छुक हैं? Sourceforge पर दो हैं, जो अनिवार्य रूप से मृत हैं (प्रति माह 2 पोस्टिंग) - और याहू समूह में मुख्य, जो वास्तव में धीमा है और मुझे पिछले दो महीनों में ज्यादा प्रतिक्रिया नहीं मिली है (मैं थोड़ा पहले शामिल हो गया था मैं यहाँ पूछ रहा था)। क्या आप किसी और के बारे में जानते हैं ?? – sebhaase

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