यदि आपके गैबोर-फिल्टर का आउटपुट विश्वसनीय है और आपकी छवि-डेटा में भिन्नता इतनी अधिक नहीं है कि परिणाम पूरी तरह से अलग दिखता है, तो आप निम्नलिखित दृष्टिकोण का उपयोग कर सकते हैं (इसके कुछ हिस्से जहां पहले ही उल्लेख किया गया है):
किसी भी स्वचालित थ्रॉल्डिंग एल्गोरिथ्म के साथ अपनी दूसरी छवि को बिनाराइज़ करें। थ्रेशोल्ड की रेंज जो काम करेगी बड़ी है जैसा कि आप देखेंगे।
एक अद्वितीय मूल्य के साथ पिक्सेल के प्रत्येक जुड़े क्षेत्र को लेबल करने के लिए एक घटक लेबलिंग एल्गोरिदम का उपयोग करें।
अपनी छवि के प्रत्येक घटक के लिए गणना करें जो एक संपत्ति का वर्णन करता है, आपकी वस्तु एक भरे हुए सर्कल के कितनी करीब है। इसके लिए, आप उदाहरण के लिए कॉम्पैक्टनेस का उपयोग कर सकते हैं । मैंने बराबर डिस्क त्रिज्या के भीतर पिक्सेल के अंश के नीचे उपयोग किया । यह त्रिज्या त्रिज्या एक डिस्क है जिसमें उसी क्षेत्र के साथ आपकी वस्तु होगी।
- क्षेत्र केवल आपकी वस्तु के पिक्सेल की संख्या की गिनती कर रहा है
- अपने क्षेत्र को दिए गए वृत्त की त्रिज्या की गणना करना भी प्रबंधनीय होना चाहिए
- इस त्रिज्या के अंदर पिक्सेल के लिए, आपको प्रत्येक छवि ऑब्जेक्ट के केंद्र की आवश्यकता होती है, लेकिन यह ऑब्जेक्ट-पिक्सेल के सभी पदों का मतलब है। यदि आप भौतिक विज्ञानी हैं, तो आप कई बिंदुओं के द्रव्यमान के केंद्र को जानते हैं। यह बराबर है।
- अब आप प्रत्येक ऑब्जेक्ट के प्रत्येक पिक्सेल के लिए उसके केंद्र से दूरी की गणना करते हैं और जांचते हैं कि यह छोटा है या नहीं तो वृत्त त्रिज्या है। दो नंबरों को विभाजित करने और आपको अंदर और बाहर पिक्सेल का अंश मिलता है।
- उच्चतम अंश वाली वस्तु को लें। नोट: केवल एक पिक्सेल वाली वस्तुओं को 1 का मान मिलेगा। इसलिए आपको एक आकार-सीमा निर्धारित करनी चाहिए और केवल बड़ी वस्तुओं को लेना चाहिए, 10 पिक्सेल।
यह देखने के लिए, कि एक स्वत: द्वैतकरण काम करना चाहिए, यहाँ बहुत कम और बहुत अधिक सीमा के परिणाम हैं:
अद्यतन घटक लेबलिंग
आपके आवेदन के लिए घटक लेबलिंग का विकल्प महत्वपूर्ण नहीं है। मेरा सुझाव है, यदि आपको इसे स्वयं लागू करना है, तो एक बहुत ही सरल विधि का उपयोग करें। एक पास संस्करण विकिपीडिया साइट से बहुत आसान है। मूल रूप से आप अपनी द्विआधारी छवि के माध्यम से पुनरावृत्ति करते हैं और जब आप एक पिक्सेल से मिलते हैं जो सफेद है और पहले से ही लेबल नहीं है तो आप इस ऑब्जेक्ट के लिए एक नया लेबल का उपयोग करते हैं और इस पिक्सेल से शुरू करते हैं।
इस ऑब्जेक्ट को लेबल के साथ लेबल करने की प्रक्रिया मूल रूप से बाढ़ भराव के समान है। यह एल्गोरिथम में विकिपीडिया-साइट के आंतरिक चरणों 1-4 पर है। आप इस लेबल वाले पिक्सेल से शुरू करते हैं और अपने सभी पड़ोसियों को एक स्टैक पर डालते हैं (वे एक वेक्टर का उपयोग करते हैं )। स्टैक पर एक पिक्सेल के लिए आप जांचते हैं कि क्या यह अग्रभूमि है और पहले से ही लेबल नहीं है। यदि आपको इसे लेबल करना है, तो आप इसके सभी पड़ोसियों को फिर से स्टैक पर रखें। ऐसा तब तक करें जब तक आपका स्टैक खाली न हो जाए।
फिर आप छवि के माध्यम से अपना स्कैन जारी रखें। विकी-साइट पर वर्णन के विपरीत, आपको अपनी मूल छवि से पिक्सेल को निकालने की आवश्यकता नहीं है, आप तभी छोड़ते हैं जब आपकी लेबल-छवि में 0 से भिन्न मान होता है।