MATLAB में छवि सीमा द्वारा प्रतिच्छेदित वस्तुओं की संख्या की गणना


9

मेरे पास विभिन्न संकेतों के साथ एक आरजीबी छवि है। मेरा मुख्य लक्ष्य उन संकेतों की गणना करना है जो छवि सीमाओं के संपर्क में हैं।

दृष्टिकोण और समस्या

मैं छवि [छवि लोड करके शुरू किया। 1], फिर इसे ग्रेस्केल में बदल दिया और कुछ शोर से छुटकारा पाने के लिए एक माध्यिका फ़िल्टर लागू किया [अंजीर]। 2]। फिर मैंने इसे 0.2 की सीमा के साथ द्विभाजित किया, जिसके परिणामस्वरूप चित्र 3 हुआ। इस समय मुझे अपनी बिनाराइज्ड छवि मिली, लेकिन समस्या यह है कि कुछ हिस्से जो एक ही संकेत के हैं, वे केवल एक के बजाय विभिन्न क्षेत्रों में दिखाई दे रहे हैं। अब मेरा लक्ष्य उन क्षेत्रों का विलय करना है जो एक ही वस्तु से संबंधित हैं, इसलिए मैं यह bwlabelगिनने के लिए उपयोग कर सकता हूं कि छवि में कितने चिन्ह हैं, और imclearborderसीमा में मौजूद लोगों से छुटकारा पाने के लिए उपयोग bwlabelकरें , और फिर से अंतर प्राप्त करने के लिए उपयोग करें दो।

मेरे दृष्टिकोण का इस्तेमाल किया गया bwmorph, Dilateवस्तुओं फ़ैल जाती है और फिर उन लोगों के साथ भरने के लिए कोशिश imfill, holes। लेकिन समस्या यह है कि अगर मैं उन्हें थोड़ी मात्रा में पतला करता हूं [अंजीर। 4], imfillउन्हें भरने के लिए प्रतीत नहीं होता है, अगर मैं उन्हें एक बड़ी राशि द्वारा पतला करता हूं [चित्र 5] सभी वस्तुओं का विलय शुरू हो जाता है, ...

कोड

img=im2double(imread('image.png')); figure, imshow(img) 
img_gray=rgb2gray(img); imshow(img_gray);                                 
img_mediana=medfilt2(img_gray, [3 3]); figure, imshow(img_mediana);       
img_bin=im2bw(img_mediana, 0.2); imshow(img_bin)
img_dilate=bwmorph(img_bin, 'Dilate', 10); imshow(img_dilate)
img_fill=imfill(img_dilate, 'Holes'); figure, imshow(img_fill)

आंकड़े

चित्र 1 :

अंजीर 1 http://dl.dropbox.com/u/5272012/1.png

चित्र 2 :

अंजीर 2 http://dl.dropbox.com/u/5272012/2.png

चित्र 3 :

अंजीर 3 http://dl.dropbox.com/u/5272012/3.png

चित्र 4 :

अंजीर 4 http://dl.dropbox.com/u/5272012/4.png

चित्र 5 :

अंजीर 5 http://dl.dropbox.com/u/5272012/5.png


मेरा सवाल यह है कि क्या वास्तव में आपको बताता है कि हस्ताक्षर टूट गया है? आप वास्तव में आउटपुट कैसे डालना चाहते हैं? मेरा मतलब है - क्या आप केवल उन सभी संकेतों को Colorize करना चाहते हैं जो कट गए हैं? या क्या आप वास्तव में प्रत्येक चिह्न को सूचीबद्ध करना चाहते हैं और कट / पूर्ण को वर्गीकृत करते हैं?
दीपन मेहता

जवाबों:


3

मेरी राय में, तनु क्षरण बहुत ही मूल उपकरण हैं। आपके पास इस तरह के निर्णय लेने के लिए एक बहुत मजबूत सूचना आधार और काफी सभ्य इनपुट छवि है।

यहाँ मेरा विचार है:

  1. अंजीर 1 से 3 तक जाने के लिए आपने एक उचित सफलता को देखते हुए, आप व्यक्तिगत संकेतों की पहचान और खंड कर सकते हैं।

  2. यह मानते हुए कि आपने संकेतों को पहले से जाना है, आप पैटर्न मिलान करने के लिए एक सभ्य तेज एल्गोरिदम लागू कर सकते हैं। मामले में अगर सटीक पैटर्न ज्ञात नहीं हैं - आप पैटर्न के बाहरी आकार की पहचान कर सकते हैं।

  3. वर्गीकरण के आधार पर, आप हमेशा प्रत्येक मिलान किए गए पैटर्न के केंद्रक और इसकी संबंधित चौड़ाई और ऊंचाई को परिभाषित कर सकते हैं। यदि केन्द्रक X, Y स्थिति सीमा के बहुत पास है - अर्थातcentroid(x)<0 या centroid(x)>imagewidthshapewidth यह किनारे के बाहर है, इसी तरह आप वाई अक्ष के लिए भी आवेदन कर सकते हैं।

  4. यह देखते हुए कि आप केवल इस बारे में चिंतित हैं कि किनारे पर क्या गिरता है - आपको केवल प्रत्येक किनारे से शुरू करना चाहिए और वहां से मिलान करना शुरू करना चाहिए। आंशिक पैटर्न / आकार मिलान शुरू करें और अगर आंशिक पैटर्न / आकार मैच करता है कि वस्तु है किनारे पर कटौती की जा रही है।

यहां कुछ संदर्भ दिए गए हैं जो समस्या को अच्छी तरह से तैयार करने में आपकी मदद कर सकते हैं।

यह कागज आप के साथ काम कर रहे संकेतों / टोकन के बारे में बहुत सारी मूल बातें समझने के लिए बहुत अच्छा है।

अनिल के। जैन और आदित्य वैलाया आकार-आधारित पुनर्प्राप्ति: ट्रेडमार्क छवि डेटाबेस पैटर्न मान्यता 1998, वॉल्यूम के साथ एक केस स्टडी । 31, नंबर 9, पीपी। 1369-1390

कई शोध तत्व हैं जो आंशिक या घेरे वाले आकार / पैटर्न से मेल खाते हैं।

एली सबर, यावो जू, ए। मूरत तेक्ल्पल आंशिक आकार मान्यता द्वारा उप-मैट्रिक्स मिलान के लिए आंशिक मिलान निर्देशित छवि लेबलिंग पैटर्न मान्यता 38 (2005) 1560 - 1573

यदि आप इस दृष्टिकोण को लेते हैं तो इस उत्तर को और अधिक विशिष्ट प्रश्नों के लिए विस्तारित करेंगे।


अरे! मैं पैटर्न मिलान का उपयोग नहीं कर सकता क्योंकि यह बहुत लंबा समय लेगा और बहुत अधिक कम्प्यूटेशनल काम करेगा। साथ ही ऑब्जेक्ट्स (संकेत) का पैमाना, वेरिएबल हो सकता है (प्रोफेसर हमें रैंडम इमेज देते हैं, जहां स्केल एफ के संकेत + 30% से -30% तक बहुत अधिक हो सकते हैं, इसलिए एक पैटर्न मैचिंग बेकार है। मुझे इसमें एक तेज़ दृष्टिकोण की आवश्यकता है। इसे हल करने का आदेश।
रुई ट्रोविस्को

@RuiTrovisco मैं इसे समझता हूं। यही कारण है कि मैंने लिखा है - मैं आपकी प्रतिक्रिया के आधार पर उत्तर में सुधार करूंगा। मैंने आपके प्रश्न पर कुछ टिप्पणियाँ रखी हैं। कृपया वहां वापस जाएं।
दीपन मेहता

1

यहाँ एक छोटी सी प्रेरणा है जो आप चाह रहे हैं उसके विपरीत दिखा।

अंजीर से शुरू करें।

% Find background
labels = bwlabel(~fig3);
[n,idx] = hist(labels(:),0:max(labels(:)));
[bgrSize bgrLableIdx] = max(n);
bgr = (labels == idx(bgrLableIdx));
bgr = imopen(bgr,strel('disk',3));

% Remove border objects and cleanup
borderCleared = imclearborder(~bgr);
borderCleared = imopen(borderCleared,strel('disk',3));

यहाँ छवि विवरण दर्ज करें

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