हाय CV / पैटर्न मान्यता समुदाय,
मुझे एक छवि के विभाजन के बारे में एक गंभीर समस्या है। परिदृश्य एक भट्टी के भीतर का वातावरण है जो मेरे सिर को पागल बना देता है। और मुझे कुछ समय की अवधि (<10 सेकंड) में विभिन्न सामग्रियों (कांच, चीनी मिट्टी की चीज़ें, अल, इर, ..) की वस्तु आकृति का पता लगाने की आवश्यकता है, न कि केवल एक विशेष मामले के लिए। मुझे कोड के लिए पिक्सेल की अनुक्रमिक पंक्ति में समोच्च की भी आवश्यकता है। इसलिए एक चेन कोड या तथाकथित सीमा / समोच्च निम्नलिखित की भी आवश्यकता है, इसलिए खुले छेद अच्छे नहीं हैं। पृष्ठभूमि में गैर रेखीय शोर हैं, लगभग धूल, कण या कुछ और, जो समय-समय पर दिखाई दे रहे हैं।
Matlab या OpenCV सुझावों का स्वागत है।
इसे और अधिक स्पष्ट करने के लिए, मैंने अपने लक्ष्य की एक और छवि और एक अर्ध-पारदर्शी वस्तु पोस्ट की है, जिसे भी पता लगाने की आवश्यकता है। इसके अलावा आगे के उदाहरणों के बारे में पता होना चाहिए।
जैसा कि आप छवि # 1 में देख सकते हैं, छवि के दाहिने हिस्से में और पास के तारे के बाहरी समोच्च में कण हैं, जो कि वस्तु है। इसके अलावा समग्र विपरीत बहुत अच्छा नहीं है। ऑब्जेक्ट खुद एक भूमिगत पर खड़ा है, जो समोच्च का पता लगाने के लिए प्रासंगिक नहीं है। छवि # 2 एक ह्रासमान वस्तु को दर्शाता है, जो संभव भी है।
मैं उस वस्तु के समोच्च / परिधि को खोजना चाहता हूं, जैसे कि अगली स्क्रीन (लाल रेखा) पर। दो आयत (पीले) शुरू (बाएं) और अंत बिंदु (दाएं) को चिह्नित कर रहे हैं। नीली रेखा आग्नेय है।
पहले तो मैंने सोचा कि मैं सिर्फ फिल्टर के साथ उस गंदे माहौल की समस्या को हल कर सकता हूं। लेकिन निवेश के समय के एक सम्मानजनक अमाउंट के बाद, मुझे बस एहसास हुआ, कि मुझे अग्रभूमि और पृष्ठभूमि के विपरीत को बढ़ाने के लिए शोर को काफी कम करना होगा या कम करना होगा। मैंने बहुत सारे तरीके आज़माए, जैसे कि हिस्टोग्राम इक्वलाइज़ेशन, ओट्सु-अडेप्टिव इक्वलाइज़ेशन, लीनियर फ़िल्टर (जैसे गॉस), नॉनलाइनियर फ़िल्टर (मेडियन, डिफ्यूज़न), एक्टिव कंट्रोस, के-मीन्स, फ़ज़ी-सी-मीन्स और प्योर के लिए कैनी रूपात्मक ऑपरेटरों के साथ संयोजन में एज डिटेक्शन।
- कैनी: कण और वायुमंडल छिद्र पैदा कर रहे हैं, लेकिन मुझे ऑब्जेक्ट के पूर्ण समोच्च की आवश्यकता है। अभी भी बंद होने के साथ, रूपात्मक संचालकों का पतला होना पर्याप्त रूप से ठीक नहीं है। कैनी के पास अभी भी उन सभी तरीकों का सबसे अच्छा परिणाम है जो मैंने हिस्टैरिसीस के कारण अध्ययन किए हैं।
- Active Contours: वे किनारों / ग्रेडिएंट्स पर भी काम करते हैं, वे ऑब्जेक्ट के अंदर इनिशियलाइज़ करने के बाद पूरी तरह से पागल हो जाते हैं, जो शायद एज मैप के कारण होता है जिसके परिणामस्वरूप 'ओपन' ऑब्जेक्ट होता है। जहां तक मुझे पता है कि समोच्च को बंद करना होगा। इसे अलग-अलग व्युत्पन्न (जीवीएफ / वीएफसी / क्लासिक स्नेक) के साथ करने की कोशिश की।
- k-Means: परिणामों में भट्टी की पृष्ठभूमि के कारण भट्ठी का वातावरण शामिल है। फजी-सी-साधन के लिए भी। मैंने पृष्ठभूमि से ऑब्जेक्ट को अलग करने के कारण दो समूहों को चुना। अधिक क्लस्टर कमजोर परिणामों की ओर ले जाते हैं।
- हिस्टोग्राम / ओत्सु: बहुत करीबी ग्रे तीव्रता (imho!) के कारण, यह ऑब्जेक्ट को पृष्ठभूमि के साथ विलय कर रहा है। स्थानीय और वैश्विक तरीकों से इसकी कोशिश की।
- फिल्टर: विशेष रूप से जीएलपीएफ या अन्य एलपीएफ किनारों को धब्बा कर रहे हैं, जो इतना अच्छा नहीं है और धुंधले वातावरण को भी कम नहीं करता है।
- नॉन-लीनियर फिल्टर किनारों को संरक्षित कर रहे हैं। उनमें से ज्यादातर बड़ी छवियों की गणना के लिए बहुत लंबा समय लेते हैं। अब के लिए एक तेजी से द्विपक्षीय फिल्टर लिया। परिणाम नीचे देखें।
इसलिए पोस्ट-प्रोसेसिंग चरणों के लिए एक भी विधि पर्याप्त नहीं है, क्योंकि ऑब्जेक्ट खंड के प्राप्त परिणाम एक मौजूदा एल्गोरिथ्म के लिए खराब हैं। वह मौजूदा एल्गोरिथ्म बहुत स्थानीय है और इसलिए यह इस विशेष परिदृश्य के लिए काम करता है।
इसलिए मैं आपसे पूछ रहा हूं, अगर मैं कुछ पूरी तरह से याद कर रहा हूं ... मुझे आगे कोई विचार नहीं है कि कैसे प्रक्रिया करनी है और कैसे मुझे अच्छे समोच्च परिणाम प्राप्त करने चाहिए, बिना अंतराल या छेद के .. क्या यह संभव है कि बहुत सारे बदलाव किए बिना। सीसीडी और भौतिक वातावरण? अग्रिम में धन्यवाद!
अब तक अंतिम दृष्टिकोण (एमओ के साथ प्रयोगों की एक लंबी रात के बाद):
- द्विपक्षीय फ़िल्टर (किनारे संरक्षण, लेकिन समरूप क्षेत्रों को चौरसाई करना)
- कैनी (सिग्मा = 2, थ्रेसहोल्ड = [0.04 0.08])
- रूपात्मक संचालन (एमओ):
bwareopen
,closing
,remove
औरbridge
bwlabel
समोच्च के केवल परिधि का चयन करने के लिए, जो अवांछित शोर को हटा देता है। अभी तक कोई भी अपडेटेड स्क्रीनशॉट नहीं है, लेकिन यह स्टार के लिए काम करता है। ग्लास एक आंतरिक-समोच्च होता है जो बाहरी समोच्च से जुड़ा होता है, जिसे नीचे स्क्रीनशॉट पर भी देखा जा सकता है।
इसलिए मुझे डर है कि मुझे आउटटर समोच्च के ट्रैवर्सल के लिए एक विशेष एल्गोरिथ्म की आवश्यकता है। यह पड़ोस की कुछ दक्षिणावर्त / वामावर्त खोज होगी। यदि कोई कॉर्नर पॉइंट है, तो क्लॉकवाइज़ / वामावर्त स्टेप स्विच कर सकता है। यदि कोई अंतराल है, तो त्रिज्या बढ़ाएं और फिर से देखें। यदि दो या अधिक संभावित निम्नलिखित बिंदु हैं, तो उसे वही लें, जिसे पिछली दिशा में वही दिशा मिली हो। क्या आपको लगता है, कि समोच्च निम्नलिखित एल्गोरिथ्म समझ में आता है?