2011-08-09 20 views
5

में एक वेक्टर पर गॉसियन फ़िल्टर मेरे पास एक एन-आयामी वेक्टर (1 एक्सएन डेटासेट, और यह छवि डेटा नहीं है), और मैं इसमें एक गॉसियन फ़िल्टर लागू करना चाहता हूं। मेरे पास इमेज प्रोसेसिंग टूलकिट है, और कुछ अन्य (पूछें कि आपको एक सूची चाहिए या नहीं)।मैटलैब

संभवत: पैरामीटर [1 n] जैसे hsize पैरामीटर बना सकता है। क्या मैं अभी भी अगले चरण के रूप में अपने वेक्टर पर लागू करने के लिए imfilter का उपयोग कर सकता हूं, या मुझे कुछ और उपयोग करना चाहिए?

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

नोट: मैं वर्तमान में कोशिश करने की स्थिति में नहीं हूं और देख रहा हूं कि क्या होता है (वर्तमान में मैटलैब के साथ मशीन पर नहीं), अन्यथा मैंने इसे पहले कोशिश की होगी और केवल यह पूछेगा कि क्या मैं fspecial का उपयोग कर समस्याओं में भाग गया और imfilter

उत्तर

15

क्यों गॉसियन फ़िल्टर स्वयं नहीं बनाते? आप fspecial में सूत्र (या एक गाऊसी के किसी भी अन्य परिभाषा) देख सकते हैं:

sigma = 5; 
sz = 30; % length of gaussFilter vector 
x = linspace(-sz/2, sz/2, sz); 
gaussFilter = exp(-x .^ 2/(2 * sigma^2)); 
gaussFilter = gaussFilter/sum (gaussFilter); % normalize 

और क्रम में इसे लागू करने के लिए आप filter उपयोग कर सकते हैं:

y = rand(500,1); 
yfilt = filter (gaussFilter,1, y); 

और फिल्टर मत भूलना विलंबता है, जिसका मतलब है कि फ़िल्टर सिग्नल इनपुट सिग्नल की तुलना में स्थानांतरित किया जाता है। चूंकि यह फिल्टर सममित है, तो आप filter के बजाय conv का उपयोग करके एक गैर स्थानांतरित कर दिया उत्पादन प्राप्त कर सकते हैं, और same विकल्प का उपयोग:

yfilt = conv (y, gaussFilter, 'same'); 
+2

ठीक है, मैं वास्तव में अपने ही समारोह अन्य यदि लिखने के लिए एक की जरूरत नहीं दिख रहा है मौजूदा कार्य नौकरी भी करेंगे, लेकिन हां, फ़िल्टर बनाने से समस्या हल हो जाती है। धन्यवाद। वैसे, क्या मैं विश्वास करने में सही हूं कि आम तौर पर आकार 6 (प्लस-माइनस 3) सिग्मा मूल्य है? –

+1

यह वास्तव में एप्लिकेशन पर निर्भर करता है - लेकिन आम तौर पर आप चाहते हैं कि गॉसियन पूंछ मर जाए ताकि फ़िल्टर को छिड़काव का कोई महत्वपूर्ण प्रभाव न हो (क्योंकि पूंछ + -फिनिटी पर 0 पर जाते हैं, तो आपको सीमित लंबाई होने के लिए छंटनी चाहिए फिल्टर)। तो हाँ, प्रत्येक पक्ष के लिए 4 या अधिक सिग्मा जाकर इसकी गारंटी है। –

+2

बेशक, अपने स्वयं के फ़ंक्शन को लिखने की आवश्यकता है, खासकर जब यह एक महंगा टूलबॉक्स का हिस्सा है! क्या होगा यदि मैटलैब छवि टूलबॉक्स लाइसेंस की संख्या आपकी कंपनी या विश्वविद्यालय में सीमित थी? हो जाता है! – Wok