2012-06-11 18 views
5

क्या किसी को ओपनसीवी 2.4 के साथ समस्याएं आ रही हैं और छवियों को वाईसीआरसीबी कलर स्पेस में परिवर्तित कर रही है? मैं पाइथन बाइंडिंग का उपयोग कर रहा हूं और मुझे लगता है कि बीजीआर 2 वाईसीआरसीबी को बदलने के लिए जो भी परिभाषा उपयोग की जाती है। यहां कुछ चीजें हैं जो मैं कोशिश कर रहा हूं:सीवी 2 और बीजीआर 2 वाईसीआरसीबी पायथन बाइंडिंग के साथ काम नहीं कर रहे हैं

>>> import cv2 
>>> cv2.COLOR_BGR2GRAY # works fine 
6L 
>>> cv2.COLOR_BGR2HSV # works fine 
40L 
>>> cv2.COLOR_BGR2YCrCb # now the trouble starts 
Traceback (most recent call last): 
File "<stdin>", line 1, in <module> 
AttributeError: 'module' object has no attribute 'COLOR_BGR2YCrCb' 
>>> cv2.COLOR_BGR2YCC 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
AttributeError: 'module' object has no attribute 'COLOR_BGR2YCC' 
>>> 

क्या कोई जानता है कि सीवी 2 में रूपांतरण कैसे करें?

+0

मैं cv2.cv.CV_BGR2YCrCb जो मुझे '36' के एक मूल्य दे दिया था। जब मैं इसे cvtColor में प्लग करता हूं तो यह अब काम करता है, लेकिन मैं अभी भी जानना चाहता हूं कि परिभाषा मान क्या है। –

+1

+1 अच्छा सवाल, वास्तव में। इस जानकारी को दस्तावेज़ों पर नहीं मिला और ओपनसीवी स्रोत कोड को जांचना पड़ा। – karlphillip

उत्तर

8

पायथन में, COLOR_BGR2YCrCb को COLOR_BGR2YCR_CB कहा जाता है।

build/modules/python/pyopencv_generated_const_reg.h को देखते हुए पता चला:

97: PUBLISH2(COLOR_BGR2YCR_CB,cv::COLOR_BGR2YCrCb); 
+0

उत्कृष्ट, धन्यवाद! –

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