2013-07-10 10 views
10

में कनेक्टेड घटकों की सूची कैसे ढूंढें I C++ एप्लिकेशन के लिए ओपनसीवी का उपयोग कर रहा हूं। मेरे पास 8 बिट बाइनरी छवि है जिसमें कुछ ऑब्जेक्ट्स हैं। ऑब्जेक्ट्स सभी रंग 255 हैं, जबकि पृष्ठभूमि में सब कुछ रंगीन है 0. प्रत्येक ऑब्जेक्ट में इसके अंदर कोई खाली (काला) पिक्सेल नहीं है। दूसरे शब्दों में, प्रत्येक वस्तु पूरी तरह से सफेद है। वस्तुओं एक दूसरे से जुड़े नहीं हैं। यहां मैं इसे निकालना चाहता हूं:ओपनसीवी बाइनरी छवि

मैं वस्तुओं की किसी प्रकार की सूची निकालना चाहता हूं, जिसमें से मुझे उस सूची में प्रत्येक ऑब्जेक्ट के स्थान की कुछ धारणा है। यह cvConnectedComponents() या किसी और चीज का उपयोग कर सकता है। मुझे कुछ संकेत चाहिए कि छवि में प्रत्येक ऑब्जेक्ट कहां स्थित है। यह कुछ ऑब्जेक्ट या मध्यस्थ या केंद्र के लिए कुछ आयतन या कुछ भी के आधार पर आयत को बाध्य करने के रूप में हो सकता है जो मुझे छवि में वस्तुओं का एक माप देता है। ओपनसीवी क्या देखने के लिए कोई संकेतक?

+3

इस उदाहरण का अध्ययन करें। http://docs.opencv.org/doc/tutorials/imgproc/shapedescriptors/find_contours/find_contours.html – William

+2

[ओपनसीवी में जुड़े घटक] के संभावित डुप्लिकेट (http://stackoverflow.com/questions/12688524/connected-components- इन-ओपनसीवी) – Kiran

उत्तर

7

आपको सीवी :: findCountours द्वारा लौटाए गए समोच्चों को बाढ़ की आवश्यकता है। FindContours के लिए this example देखें, और this one बाढ़ के लिए

+2

मुझे लगता है कि इसके साथ उत्तर अब बदला जाना चाहिए कि 3.0 [अंत में] बाहर है। –

24

संस्करण 3.0 से प्रारंभ, ओपनसीवी में connectedComponents फ़ंक्शन है।

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