2012-05-22 4 views
5

मैं छवि प्रसंस्करण टूलबॉक्स का उपयोग कर MATLAB में कोड के एक टुकड़े पर काम कर रहा हूं, जहां मैंने नदी के कंकाल प्राप्त करने के लिए Skel = bwmorph (BM, 'skel') का उपयोग किया है। मैं उन बिंदुओं को प्राप्त करने के लिए बीपी = बीडब्लॉर्फ (स्केल, 'शाखापॉइंट्स') का उपयोग करना चाहता हूं जहां संगम और सहायक न हों। मैं बीपी में झूठे सकारात्मक का एक बहुत हो रही है जब भी कंकाल लग रहा हैbwmorph branchpoints कैसे काम करता है?

तरह
oQo 
Q 
o 

यह शाखा अंक के रूप में क्यू पिक्सल के रूप में अच्छी तरह से चिह्नित करता है, वास्तविक, उम्मीद शाखा अंक के साथ। इस तरह के बहुत सारे झूठे सकारात्मक हैं।

मैंने देखा है कि एक वास्तविक शाखा बिंदु बीपी में एक पृथक पिक्सेल के रूप में होता है, जबकि शाखाओं के अंक हमेशा जोड़ों में बनते हैं।

क्या कोई मुझे बता सकता है कि शाखा बिंदुओं को एल्गोरिदम को अंक कैसे मिलते हैं? यदि मुझे पता है, तो मैं संतुष्ट हो सकता हूं कि एक वास्तविक कारण है कि झूठी सकारात्मक जोड़ों में क्यों हैं, और एक वास्तविक भाग्य के बजाय सच्चे सकारात्मक अकेले हैं।

मुझे लगता है कि यह पिक्सेल के आसपास 8-कनेक्टिविटी को देखता है, लेकिन मुझे लगता है कि यह सब कुछ नहीं करता है।

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

The image

+0

मैं अपने ड्राइंग 'OQO क्यू ओ' नहीं मिलता है (वहाँ छवि में कुछ अजीब कलाकृतियों इसे यहाँ अपलोड करने की वजह से कर रहे हैं)। क्या आप शायद एक छवि अपलोड कर सकते हैं जो दिखाता है कि क्या हो रहा है? – Tobold

+0

मैंने छवि के लिए एक लिंक जोड़ा है: [लिंक] (http://i.imgur.com/w5udH.jpg) – shashwat

उत्तर

2

आपका पिक्सल न्यूनतम नहीं (8) जुड़े हैं,

Thin = bwmorph(Skel,'thin'); 
BP = bwmorph(Thin,'branchpoints'); 

उपयोग करने के लिए अनावश्यक पिक्सल दूर करने के लिए प्रयास करें। (आप स्केल के बजाय पतले का भी उपयोग कर सकते हैं)।

मुझे लगता है कि शाखाओं के मूल एल्गोरिदम 3,3 पड़ोस पिक्सल को देखता है यदि कम से कम 3 पिक्सल (केंद्र को छोड़कर) '1' हैं।

+0

बहुत बहुत धन्यवाद! उन्हें कम से कम कनेक्ट करने के लिए पतले का उपयोग झूठी सकारात्मक से छुटकारा पाता है, _and_ मैं बिल्कुल देख सकता हूं क्यों। इसके अतिरिक्त, मेरा मानना ​​है कि यह केवल 3x3 पड़ोस की जांच नहीं करता है, अन्यथा, कोई भी टी जंक्शन 4 पिक्सल देगा और न केवल 1. (कम से कम इस तरह जब मैंने इसे लिखा था तो एल्गोरिदम की मेरी प्रतिलिपि बनाई गई थी) हालांकि, आप सही हैं .. यह मुख्य मानदंड प्रतीत होता है। 'पतली' ऑपरेशन के लिए फिर से धन्यवाद ... – shashwat

2
BW = (rgb2gray(imread('w5udH.jpg')) > 50); 
[i,j] = ind2sub(size(BW), find(bwmorph(bwmorph(BW,'thin',Inf),'branchpoint') == 1)); 
imshow(BW); hold on; plot(j,i,'rx'); 

enter image description here

संबंधित मुद्दे