एक छवि पर बनावट का पता लगाने और क्षेत्र के गुण


9

मुझे एक दिलचस्प समस्या है जिसे मैं हल करने की कोशिश कर रहा हूं। उदाहरण के लिए, यदि हमारे पास एक काले और सफेद छवि है जिसमें दो बनावट (ए और बी) हैं, तो मुझे उन सीमाओं के पिक्सेल मूल्यों को जानने में दिलचस्पी है जो पूरी तरह से व्यक्तिगत बनावट को कवर करेंगे।

मैंने क्रॉस सहसंबंध का उपयोग करने के बारे में सोचा, जो मुझे छवि पर टेम्पलेट (किंवदंतियों) के पदों का एक समूह देगा, लेकिन क्या इसका उपयोग करने का एक तरीका है कि सीमाओं के पिक्सेल मान प्राप्त करने के लिए (ये आमतौर पर अनियमित हैं)? इसके अलावा, क्या ऐसा करने का कोई और बेहतर तरीका है?

इसका वास्तविक विश्व उदाहरण एक वर्ष में तीन स्तर वर्षा वाले मानचित्र पर वर्षा के क्षेत्रों का पता लगाने में होगा। प्रत्येक स्तर को किंवदंती में मौजूद एक टेक्सटाइल थॉट्स सौंपा गया है, जिसका उपयोग उसी छवि पर मेल खाते बनावट के लिए किया जाता है।


4
यह उपयोगी होगा यदि आप वास्तव में उदाहरण साझा करते हैं और शायद कुछ प्रारंभिक समाधान जो आपने आजमाए हैं
Ivo Flipse

3
निश्चित रूप से कुछ उदाहरण चित्र अपलोड करें ताकि हम समझें कि आप क्या कर रहे हैं। जैसे कुछ क्षेत्रों को ठोस भरा जाता है और अन्य को क्रॉस-हैच किया जाता है? nps.gov/sagu/naturescience/images/…
endolith

यदि आपके पास matlab है, तो आप इमेज प्रोसेसिंग टूलबॉक्स का उपयोग कर सकते हैं। यदि नहीं, तो उनकी वेबसाइट अभी भी मानक एल्गोरिदम का एक अच्छा अवलोकन देती है जिसे आप उपयोग करना चाहते हैं, उदाहरण के लिए फ़ंक्शन bwconncomp
मिस्टर व्हाइट

जवाबों:


1

यहाँ एक सरल प्रक्रिया है:

  1. छवि में प्रत्येक क्षेत्र के लिए बनावट माप निर्दिष्ट करें।
  2. एक ही बनावट माप वाले आसन्न क्षेत्रों में शामिल होने के लिए एक क्षेत्र लेबलिंग / कनेक्टिविटी एल्गोरिदम (या क्षेत्र बढ़ते एल्गोरिथम) का उपयोग करें।
  3. प्रत्येक क्षेत्र के समोच्च का पता लगाने के लिए एक सरल किनारे-निम्नलिखित एल्गोरिथ्म को लागू करें।

कानून की बनावट के उपाय एक छवि में बनावट का निर्धारण करने के लिए एक पुरानी लेकिन अभी भी उपयोगी तकनीक है, और वे पूरी छवि में बनावट बी से बनावट ए को भेद करने के लिए आपके लिए पर्याप्त हो सकते हैं। विकिपीडिया लेख में अनुभाग "कानून बनावट ऊर्जा उपाय" देखें:

http://en.wikipedia.org/wiki/Image_texture

पहले कदम के रूप में, सभी बनावट उपायों की गणना करें और निर्धारित करें कि कौन सा विशेष उपाय (जैसे एज या स्पॉट) आपको एक बनावट को दूसरे से आसानी से भेद करने की अनुमति देता है। (यदि आप कुछ चित्र पोस्ट करते हैं तो मैं एक बनावट उपाय की पहचान करने में आपकी मदद कर सकता हूं।)

यदि आपके पास केवल दो बनावट हैं, ए और बी, तो आप उन्हें अग्रभूमि और पृष्ठभूमि के रूप में मान सकते हैं, और एक मानक क्षेत्र लेबलिंग एल्गोरिदम काम करेगा। प्रसंस्करण में क्या हो रहा है यह देखने के लिए आसान बनाने के लिए, आप रंग को सफेद करने के लिए ए टेक्सल्स (बनावट तत्व, बनावट के छोटे टुकड़े) और बी टेक्सल्स को रंग काला करने के लिए एक नई छवि उत्पन्न कर सकते हैं। क्षेत्र लेबलिंग और / या समोच्च-निम्न एल्गोरिदम फिर जुड़े हुए सफेद और काले क्षेत्रों को ढूंढेंगे। OpenCV में findContours () फ़ंक्शन अच्छी तरह से काम करेगा।

http://en.wikipedia.org/wiki/Connected-component_labeling

समान विकिपीडिया लेख में पारंपरिक मल्टीप्लास एल्गोरिथ्म और एकल-पास एल्गोरिथ्म दोनों शामिल हैं। मैंने वहां वर्णित एकल-पास एल्गोरिथ्म को लागू नहीं किया है, लेकिन मैंने चेन और चांग द्वारा पेपर "ए कंपोनेंट-लेबलिंग एल्गोरिदम का उपयोग कंटूर ट्रेसिंग तकनीक" में वर्णित एकल-पास एल्गोरिथ्म के साथ काम किया है। चेन और चांग द्वारा कागज भी एक मानक समोच्च-निम्न एल्गोरिथ्म का वर्णन करता है जिसे जल्दी से लागू किया जा सकता है।

यदि आपके पास दो से अधिक बनावट हैं, तो आप रंगों को रीमेक करने के बाद क्लस्टर वाटर क्षेत्रों में वाटरशेड या मीन शिफ्ट एल्गोरिदम का उपयोग कर सकते हैं । यद्यपि यह बनावट से रंग में बदलना आवश्यक नहीं है, लेकिन यह प्रक्रिया को डीबग करना और समझना आसान बनाता है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.