2012-02-19 30 views
6

जैसा कि आप छवि में देख सकते हैं, मैं इन रूपों की तुलना करना चाहता हूं।ओपनसीवी || समोच्च समानता

contours

मैं सही वापस जाने के लिए मेरी OpenCV कार्यक्रम की जरूरत है जब इन आकृति की एक दूसरे की तुलना कर रहे हैं। वे सभी तरह से दिखते हैं लेकिन जैसा कि आप देख सकते हैं कि वे बिल्कुल वही नहीं हैं।

परिणाम जो आप यहां देखते हैं वह है जो मैंने फ़ंक्शन ढूंढने वाले कॉन्टूर से वापस कर दिया है।

तो मैं इन रूपों के लिए समानता के लिए सही दृष्टिकोण की तलाश में हूं।

कोई भी मदद अद्भुत होगी।

अग्रिम में बहुत बहुत धन्यवाद।

उत्तर

5

cvMatchShapes() पर एक नज़र डालें (जिसे cvMatchContours() पर कॉल किया जाता था)।

+0

धन्यवाद आदमी! मैं इसे तुरंत प्राप्त करूंगा। मैं के नजदीक नेगबोबर विधि का उपयोग करने के बारे में सोच रहा था लेकिन मुझे यकीन नहीं है कि इसे ओपनसीवी में सही ढंग से कैसे कार्यान्वित किया जाए। खुशी के साथ –

+0

। हो गया :-) –

+0

आदि, क्या आप मुझे बता सकते हैं कि cvMatchShapes का उपयोग कैसे करें। जब मैं वेक्टर <वेक्टर > से भरे हुए समोच्चों के साथ इसे चलाने की कोशिश करता हूं> मुझे मिल रहा है: ओपनसीवी त्रुटि: दावा विफल हुआ। अग्रिम में धन्यवाद। –

5

matchShapes() फ़ंक्शन का उपयोग करने के लिए आपको vector<Point>, vector<Point> को तर्क के रूप में पास करना चाहिए। तो कंटेनर को आपके जैसा नहीं करते हैं, लेकिन इससे विशेष रूप से contours। आकार जिन्हें आप तुलना करने की कोशिश कर रहे हैं वह एक समोच्च होना चाहिए।

+0

धन्यवाद आदमी! मेरे द्वारा बेवकूफ गलती :-) वेक्टर > के बजाय वेक्टर है। –

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