इनपुट छवि का उपयोग करते हुए एक छवि में सफेद पिक्सल के समूहों: का पता लगा रहा openCV
अपेक्षित आउटपुट:
मैं तीन (या की कुछ संख्या) बहुभुज फिट करने का इरादा है (इस मामले के लिए, आयत) इस छवि में "बड़े" सफेद ब्लब्स को इंगित करने के लिए। आउटपुट छवि में खींचे गए आयत सफेद क्षेत्रों की मेरी धारणा के अनुसार हैं। मैं उम्मीद नहीं करता कि एल्गोरिदम इन समान बोडिंग क्षेत्रों के साथ आ जाएगा। मेरी इच्छा है कि सफेद पिक्सेल के क्लस्टर के चारों ओर कुछ तंग बहुभुज फिट करें।
मेरा प्रारंभिक समाधान प्रत्येक समोच्च में बिंदुओं के उत्तल ढक्कन को ढूंढकर, इस छवि के लिए समोच्चों को ढूंढने और प्रत्येक समोच्च के चारों ओर एक बंद उत्तल बहुभुज को फ़िट करने में शामिल था।
हालांकि, चूंकि सफेद क्षेत्रों में काले क्षेत्रों के साथ अत्यधिक खंडित होते हैं और किनारों के चारों ओर घूमते हैं, इसलिए cv2.findContours द्वारा लौटाए गए समोच्चों की संख्या बहुत अधिक है (लगभग 500 या उससे अधिक)। इसके कारण, एक उत्तल पतवार फिट करने से सफेद क्षेत्रों के आकार में सुधार नहीं होता है। सफेद क्षेत्र ज्यादातर अपने मूल सार आकार बनाए रखते हैं। मेरा लक्ष्य एक सफेद क्षेत्र के कई छोटे रूपों को एक पूरे समेकित में विलय करना होगा जिस पर मैं एक उत्तल हलचल फिट कर सकता हूं।
मैं इस समस्या को कैसे हल करते हैं? क्या मुझे शुरुआत में समोच्च बिंदुओं पर एक क्लस्टरिंग एल्गोरिदम का उपयोग करना चाहिए जो कि एक-दूसरे के निकट होने वाले समोच्चों को ढूंढने के लिए करते हैं?
http://en.wikipedia.org/wiki/DBSCAN मदद मिल सकती है। पायथन विज्ञान के तहत। डेमो यहाँ http://scikit-learn.org/stable/auto_examples/cluster/plot_dbscan.html – baci