2013-02-18 11 views
7

में ऑब्जेक्ट का पता लगाने में मेरे पास मिट्टी में बाघ के पगमार्क (पदचिह्न इंप्रेशन) की छवि है। मैं पगमार्क की सीमा का पता लगाना चाहता हूं लेकिन छवि तीव्रता में एक समान है जो अग्रभूमि है और पृष्ठभूमि को तीव्रता भिन्नताओं के आधार पर प्रतिष्ठित नहीं किया जा सकता है। पगमार्क और पृष्ठभूमि के बीच अंतर करने के लिए मैं क्या कर सकता हूं!समरूप तीव्रता छवि

tiger's pugmark http://imageshack.us/a/img407/4636/p1060993g.jpg

+1

समस्या आपके विचार से कहीं अधिक कठिन है। यह मदद कर सकता है यदि आप उस सीमा के आगे उपयोग पर विस्तार करते हैं, यानी आपको किस परिशुद्धता की आवश्यकता है? यदि आप बस पगमार्क का पता लगाना चाहते हैं, या इसकी दिशा जानना चाहते हैं, तो एक सटीक सीमा अनावश्यक है। –

+0

आप बर्बाद हो गए हैं। : - (..... यह एक बेहद मुश्किल छवि प्रसंस्करण कार्य है। – Shai

+0

@RomanShapovalov मुझे आपको बताना है कि विशेष रूप से मुझे सीमाओं को चिह्नित करने और अप्रासंगिक क्षेत्र को त्यागने की आवश्यकता क्यों है। मुझे पगमार्क का विश्लेषण करने और कुछ चयनित विशेषताओं के आधार पर आवश्यकता है पैड क्षेत्र, पैर की अंगुली क्षेत्र, पैर की अंगुली 2 और 3, पगमार्क लंबाई, चौड़ाई, आदि के बीच कोण और फिर प्रशिक्षण सेट के साथ विश्लेषण छवि की तुलना करने के बाद मैं बाघ के पगमार्क को अलग करने में सक्षम होना चाहिए। – Suvidha

उत्तर

7

विभाजन कार्यों में आप दोनों

  1. अच्छा मार्कर अगर; और
  2. ब्याज

की वस्तु के आसपास मजबूत किनारों तो यह सीधे एक वाटरशेड द्वारा हल किया जाता है रूपांतरण। समस्या, ज़ाहिर है, इन मार्करों को प्राप्त कर रही है, साथ ही प्रासंगिक किनारों को आवश्यकतानुसार बढ़ा रही है। इन्हें प्राप्त करने में समस्या-विशिष्ट ज्ञान शामिल हो सकता है, जो कि आपकी समस्या के लिए नहीं है।

फिर भी, कुछ सामान्य विधियां उपयोगी हो सकती हैं। उदाहरण के लिए, गणितीय मॉर्फोलॉजी से जुड़े ऑपरेटरों फ्लैट क्षेत्र को मर्ज करने और विस्तार करने के तरीके के रूप में कार्य करते हैं। इस प्रकार, शायद यह हमें समस्या के लिए अपेक्षाकृत अच्छे मार्कर दे सकता है। निम्नलिखित छवि में मूल छवि (बाएं छवि) के ग्रेस्केल संस्करण में खोलने (एक प्रकार का कनेक्टेड ऑपरेटर) द्वारा एक मोर्फोलॉजिकल पुनर्निर्माण किया गया था, और शेष क्षेत्रीय अधिकतम दाईं ओर दिखाया गया है।

enter image description hereenter image description here

अब, हम ऊपर बाईं छवि की रूपात्मक ढाल प्राप्त कर सकते हैं। हम अधिक चिकनी समोच्च प्राप्त करने के लिए उपरोक्त दाएं छवि में एक छोटी डिस्क के साथ छेद भरने और एक फैलाव भी कर सकते हैं - यह हमारी मार्कर छवि को परिभाषित करता है। फिर, लागू करने के एक वाटरशेड हमारे मार्कर छवि का उपयोग कर, और उसके बाद का विस्तार ढाल छवि में रूपांतरण वाटरशेड लाइनों (इरोड या फैलने, आप इसे कैसे देखते हैं पर निर्भर करता है), हम निम्नलिखित छवि प्राप्त:

enter image description here

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

enter image description here

नमूना कोड (प्रासंगिक कदम भी में दिखाया जाता है

f = Import["http://imageshack.us/a/img407/4636/p1060993g.jpg"] 
g = ColorConvert[f, "Grayscale"]       (* g = rgb2gray(f); *) 
(* First image shown: *) 
geo = GeodesicOpening[g, DiskMatrix[5]] (* geo = imreconstruct(imerode(g, ... *) 
             (*   strel('disk', 6)), g);  *) 
(* Second image shown: *) 
marker = MaxDetect[geo]      (* marker = imregionalmax(geo); *) 

(* Watershed on gradient with markers. *) 
mgrad = ImageSubtract[Dilation[geo, 1], Erosion[geo, 1]]; (* mgrad = ...  *) 
      (* imdilate(geo,strel('square',3)) - imerode(geo,strel('square',3)); *) 
ws = Image[   (* ws = watershed(imimposemin(mgrad, bwmorph(imfill(... *) 
WatershedComponents[mgrad,  (* imregionalmax(geo),'holes'),'dilate')))); *) 
    Dilation[FillingTransform[marker], DiskMatrix[1]]]] 

(* Third image shown: *) 
wsthick = Erosion[ws // ImageAdjust, DiskMatrix[5]] 

(* Connected component selection based on some supposed sizes. *) 
ccs = SelectComponents[wsthick, "Count", 1000 < # < 3000 || 6000 < # < 10000 &] 

(* Final image (thick border on binarized filled dilated ccs) *) 
res = ImageAdd[f, Dilation[MorphologicalPerimeter[FillingTransform[ 
    MorphologicalPerimeter[Dilation[ccs, DiskMatrix[9]]]]], 2]] 
+0

उत्तर के लिए धन्यवाद मैं आपको बताता हूं कि विशेष रूप से मुझे सीमाओं को चिह्नित करने और अप्रासंगिक क्षेत्र को त्यागने की आवश्यकता क्यों है। मुझे पगमार्क का विश्लेषण करने और पैड क्षेत्र, पैर की अंगुली क्षेत्र, अंगूठे 2 और 3 के बीच कोण, पगमार्क लंबाई, चौड़ाई, इत्यादि। और फिर प्रशिक्षण सेट के साथ विश्लेषण की गई छवि की तुलना करने के बाद मुझे यह पता लगाने में सक्षम होना चाहिए कि यह बाघ का पगमार्क है। – Suvidha

+0

@ user2067773 ठीक है, मुझे नहीं पता कि तुम मुझे क्यों बता रहे हो। लेकिन ऐसा लगता है कि आप इस विधि में एक कदम छोड़ रहे हैं जो आपने वर्णित किया है: सबसे पहले आपको यह निर्धारित करने के लिए एक तरीका होना चाहिए कि आपके पास क्या है, एक पगमार्क है या नहीं, अन्यथा इसका विश्लेषण करना व्यर्थ है। – mmgp

+0

हाँ आप सही हैं। मैंने इसके बारे में सोचा नहीं है। लेकिन मेरी पहली चिंता पृष्ठभूमि को मुखौटा करना और आगे विश्लेषण के लिए पगमार्क की एक स्पष्ट छवि प्राप्त करना है। – Suvidha

3

@ mmpg के जवाब में दृष्टिकोण, अस्थिर हो सकता है के बाद से इस्तेमाल एल्गोरिदम मानकों, जो प्रत्येक छवि के लिए विशिष्ट हो सकता है की स्थापना की आवश्यकता होती है: मैटलैब कोड) टिप्पणी की। यह समस्या पैरामीट्रिक मॉडल के साथ बेहतर संपर्क में प्रतीत होती है जिनके आकार के बारे में पूर्व ज्ञान है।

Active Shape Models फ्रेमवर्क आकार की सीमा को क्रमशः अनुमानित करता है। सबसे पहले, आप इसे कुछ औसत आकार के साथ प्रारंभ (छवियों बस चित्र, नहीं एल्गोरिथ्म के वास्तविक उत्पादन कर रहे हैं):

Initialization of the shape

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

Modes of the edge-ness distribution

फिर नए समोच्च डेटा इन वितरणों आकार की पूर्व वितरण से गुणा को अधिकतम करने के लिए फिट है। पहले वर्दी मानते हुए, नई समोच्च इस प्रकार दिखाई देगा:

The new contour

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

आप this MATLAB implementation को आजमा सकते हैं।

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