में छोटे रूपों को कैसे खत्म करें मैं वर्तमान में छवि प्रसंस्करण प्रोजेक्ट पर काम कर रहा हूं। मैं वीसी ++ के साथ ओपनसीवी 2.3.1 का उपयोग कर रहा हूं। मैंने कोड लिखा है कि, इनपुट छवि केवल नीले रंग के रंग में फ़िल्टर की जाती है और एक बाइनरी छवि में परिवर्तित होती है। बाइनरी छवि में कुछ छोटी वस्तुएं हैं जिन्हें मैं नहीं चाहता हूं। मैं उन छोटी वस्तुओं को खत्म करना चाहता था, इसलिए मैंने बाइनरी छवि में समोच्चों का पता लगाने के लिए ओपनसीवी की cvFindContours()
विधि का उपयोग किया। लेकिन समस्या यह है कि मैं छवि आउटपुट में छोटी वस्तुओं को खत्म नहीं कर सकता। मैंने cvContourArea()
फ़ंक्शन का उपयोग किया, लेकिन ठीक से काम नहीं किया .., एरोड फ़ंक्शन भी ठीक से काम नहीं करता था।कॉन्टूर ओपनसीवी: बाइनरी छवि
तो किसी को इस समस्या के साथ मेरी मदद कृपया ..
द्विआधारी छवि है जो मैं प्राप्त:
परिणाम/आउटपुट छवि है जो मैं प्राप्त करने के लिए करना चाहते हैं:
सुझाव के लिए धन्यवाद, लेकिन मुझे पता नहीं चला है कि प्रत्येक ब्लॉब/समोच्च के क्षेत्र को खोजने के लिए कोड कैसे लिखना है। जो कोड मैंने लिखा है वह निम्न लिंक में है। क्या आप इसे सही कर सकते हैं और जवाब दे सकते हैं। : http://textuploader.com/?p=6&id=YwRl। –
ओह! मैं बस भूल गया, cvutility के लिए हेडर और सीपीपी फ़ाइल इन लिंक में पाया जा सकता है: http: //textuploader.com/? पी = 6 और आईडी = डीटीएनवीजे http://textuploader.com/?p=6&id=TSlRQ कृपया उन्हें शामिल करें स्रोत निर्देशिका और पथ शामिल हैं। –
मैं सी एपीआई से बहुत परिचित नहीं हूं, लेकिन ऐसा लगता है कि आप केवल पहले समोच्च के क्षेत्र की गणना कर रहे हैं। आपको समोच्चों के माध्यम से पुन: प्रयास करने की आवश्यकता है और केवल क्षेत्र> कुछ थ्रेसहोल्ड वाले लोगों को आकर्षित करें। यदि आप केवल एक वस्तु को खोजने की कोशिश कर रहे हैं, तो आपको समोच्च को सबसे बड़े क्षेत्र के साथ आकर्षित करना चाहिए। – fferen