वीनर डिकोनवोल्यूशन: Difference between revisions

From Vigyanwiki
(Created page with "File:Image restoration (motion blur, Wiener filtering).png|thumb|350px|बाएं से: मूल छवि, धुंधली छवि, वीनर डीकोन...")
 
 
(5 intermediate revisions by 4 users not shown)
Line 1: Line 1:
[[File:Image restoration (motion blur, Wiener filtering).png|thumb|350px|बाएं से: मूल छवि, धुंधली छवि, वीनर डीकोनवोल्यूशन का उपयोग करके छवि को [[धुंधला करना]]।]]गणित में, वीनर [[विखंडन]], डीकोनवोल्यूशन में निहित [[शोर]] समस्याओं के लिए [[ विनीज़ फ़िल्टर ]] का एक अनुप्रयोग है। यह [[आवृत्ति डोमेन]] में काम करता है, उन फ़्रीक्वेंसी पर डिकंवॉल्व्ड शोर के प्रभाव को कम करने का प्रयास करता है जिनमें सिग्नल-टू-शोर अनुपात खराब होता है।
[[File:Image restoration (motion blur, Wiener filtering).png|thumb|350px|बाएं से: मूल छवि, धुंधली छवि, वीनर विसंवलन का उपयोग करके छवि को [[धुंधला करना]]।]]गणित में, '''वीनर [[विखंडन|विसंवलन]]''', विसंवलन में निहित [[शोर|नॉइज़]] समस्याओं के लिए[[ विनीज़ फ़िल्टर | विनीज़ निस्यन्दक]] का एक अनुप्रयोग है। यह [[आवृत्ति डोमेन|आवृत्ति कार्यक्षेत्र]] में काम करता है, उन आवृति पर डिकंवॉल्व्ड नॉइज़ के प्रभाव को कम करने का प्रयास करता है जिनमें सिग्नल-से-नॉइज़ अनुपात खराब होता है।


वीनर डीकोनवोल्यूशन विधि का [[छवि]] डीकोनवोल्यूशन अनुप्रयोगों में व्यापक उपयोग होता है, क्योंकि अधिकांश दृश्य छवियों का आवृत्ति स्पेक्ट्रम काफी अच्छी तरह से व्यवहार किया जाता है और आसानी से अनुमान लगाया जा सकता है।
वीनर विसंवलन विधि का [[छवि]] विसंवलन अनुप्रयोगों में व्यापक उपयोग होता है, क्योंकि अधिकांश दृश्य छवियों का आवृत्ति वर्णक्रम काफी अच्छी तरह से व्यवहार किया जाता है और आसानी से अनुमान लगाया जा सकता है।


वीनर डीकोनवोल्यूशन का नाम [[नॉर्बर्ट वीनर]] के नाम पर रखा गया है।
वीनर विसंवलन का नाम [[नॉर्बर्ट वीनर]] के नाम पर रखा गया है।


== परिभाषा ==
== परिभाषा ==


एक प्रणाली दी गई:
एक प्रणाली दी गई है:


:<math>\ y(t) = (h*x)(t) + n(t)</math>
:<math>\ y(t) = (h*x)(t) + n(t)</math>
कहाँ <math>*</math> [[कनवल्शन]] को दर्शाता है और:
जहाँ <math>*</math> [[कनवल्शन|संवलन]] को दर्शाता है और:


*<math>\ x(t)</math> समय पर कुछ मूल संकेत (अज्ञात) है <math>\ t </math>.
*<math>\ x(t)</math> समय<math>\ t </math> पर कुछ मूल सिग्नल (अज्ञात) है।
*<math>\ h(t)</math> [[एलटीआई प्रणाली सिद्धांत]] | रैखिक समय-अपरिवर्तनीय प्रणाली की ज्ञात [[आवेग प्रतिक्रिया]] है
*<math>\ h(t)</math> रैखिक समय-अपरिवर्तनीय प्रणाली की ज्ञात [[आवेग प्रतिक्रिया]] है।
*<math>\ n(t)</math> कुछ अज्ञात योगात्मक शोर है, [[सांख्यिकीय स्वतंत्रता]] की <math>\ x(t)</math>
*<math>\ n(t)</math> कुछ अज्ञात योगात्मक नॉइज़ है, जो<math>\ x(t)</math> से स्वतंत्र है।
*<math>\ y(t)</math> हमारा देखा हुआ संकेत है
*<math>\ y(t)</math> हमारा देखा हुआ सिग्नल है।


हमारा लक्ष्य कुछ खोजना है <math>\ g(t)</math> ताकि हम अनुमान लगा सकें <math>\ x(t)</math> निम्नलिखित नुसार:
हमारा लक्ष्य कुछ <math>\ g(t)</math> खोजना है ताकि हम निम्नलिखित नुसार <math>\ x(t)</math> का अनुमान लगा सकें:


:<math>\ \hat{x}(t) = (g*y)(t)</math>
:<math>\ \hat{x}(t) = (g*y)(t)</math>
कहाँ <math>\ \hat{x}(t)</math> का एक अनुमान है <math>\ x(t)</math> जो माध्य वर्ग त्रुटि को न्यूनतम करता है
जहाँ <math>\ \hat{x}(t)</math> का एक अनुमान <math>\ x(t)</math> है जो माध्य वर्ग त्रुटि को न्यूनतम करता है


: <math>\ \epsilon(t) = \mathbb{E} \left| x(t) - \hat{x}(t) \right|^2</math>,
: <math>\ \epsilon(t) = \mathbb{E} \left| x(t) - \hat{x}(t) \right|^2</math>,


साथ <math>\ \mathbb{E}</math> [[अपेक्षित मूल्य]] को दर्शाते हुए।
साथ ही<math>\ \mathbb{E}</math> [[अपेक्षित मूल्य]] को दर्शाता है। वीनर विसंवलन निस्यन्दक <math>\ g(t)</math> प्रदान करता है। निस्यन्दक को आवृति कार्यक्षेत्र में सबसे आसानी से वर्णित किया गया है:
वीनर डिकोनवोल्यूशन फ़िल्टर ऐसा प्रदान करता है <math>\ g(t)</math>. फ़िल्टर को फ़्रीक्वेंसी डोमेन में सबसे आसानी से वर्णित किया गया है:


:<math>\ G(f) = \frac{H^*(f)S(f)}{ |H(f)|^2 S(f) + N(f) }</math>
:<math>\ G(f) = \frac{H^*(f)S(f)}{ |H(f)|^2 S(f) + N(f) }</math>
कहाँ:
जहाँ:


* <math>\ G(f)</math> और <math>\ H(f)</math> के [[फूरियर रूपांतरण]] हैं <math>\ g(t)</math> और <math>\ h(t)</math>,
* <math>\ G(f)</math> और <math>\ H(f)</math> के [[फूरियर रूपांतरण]]<math>\ g(t)</math> और<math>\ h(t)</math> हैं,
* <math>\ S(f) = \mathbb{E}|X(f)|^2 </math> मूल सिग्नल का औसत पावर वर्णक्रमीय घनत्व है <math>\ x(t)</math>,
* <math>\ S(f) = \mathbb{E}|X(f)|^2 </math> मूल सिग्नल का औसत शक्ति स्पेक्ट्रमी घनत्व <math>\ x(t)</math> है,
* <math>\ N(f) = \mathbb{E}|V(f)|^2 </math> शोर का औसत शक्ति वर्णक्रमीय घनत्व है <math>\ n(t)</math>,
* <math>\ N(f) = \mathbb{E}|V(f)|^2 </math> नॉइज़ का औसत शक्ति स्पेक्ट्रमी घनत्व<math>\ n(t)</math> है,
* <math>X(f)</math>, <math>Y(f)</math>, और <math>V(f)</math> के फूरियर रूपांतरण हैं <math>x(t)</math>, और <math>y(t)</math>, और <math>n(t)</math>, क्रमश,
* <math>X(f)</math>, <math>Y(f)</math>, और <math>V(f)</math> के फूरियर रूपांतरण <math>x(t)</math>, और <math>y(t)</math>हैं, क्रमश,
* सुपरस्क्रिप्ट <math>{}^*</math> जटिल संयुग्म को दर्शाता है।
* अधिलेख <math>{}^*</math> जटिल संयुग्म को दर्शाता है।


फ़िल्टरिंग ऑपरेशन या तो समय-डोमेन में, जैसा कि ऊपर किया गया है, या फ़्रीक्वेंसी डोमेन में किया जा सकता है:
निस्यंदन संचालन या तो समय-कार्यक्षेत्र में, जैसा कि ऊपर किया गया है, या आवृति कार्यक्षेत्र में किया जा सकता है:


:<math>\ \hat{X}(f) = G(f)Y(f)</math>
:<math>\ \hat{X}(f) = G(f)Y(f)</math>
और फिर [[उलटा फूरियर रूपांतरण]] निष्पादित करना <math>\ \hat{X}(f)</math> प्राप्त करने के लिए <math>\ \hat{x}(t)</math>.
और फिर [[उलटा फूरियर रूपांतरण|प्रतिलोम फूरिये रूपांतर]]<math>\ \hat{X}(f)</math> प्राप्त करने के लिए <math>\ \hat{x}(t)</math> निष्पादित करना


ध्यान दें कि छवियों के मामले में, तर्क <math>\ t </math> और <math>\ f </math> ऊपर द्वि-आयामी हो जाओ; हालाँकि परिणाम वही है.
ध्यान दें कि छवियों की स्तिथि में, तर्क <math>\ t </math> और <math>\ f </math> द्वि-आयामी हो जाते हैं; हालाँकि परिणाम वही है।


== व्याख्या ==
== व्याख्या ==


वीनर फ़िल्टर का संचालन तब स्पष्ट हो जाता है जब उपरोक्त फ़िल्टर समीकरण को फिर से लिखा जाता है:
वीनर निस्यन्दक का संचालन तब स्पष्ट हो जाता है जब उपरोक्त निस्यन्दक समीकरण को फिर से लिखा जाता है:


:<math>
:<math>
Line 52: Line 51:
\end{align}
\end{align}
</math>
</math>
यहाँ, <math>\ 1/H(f)</math> मूल प्रणाली का उलटा है, <math>\ \mathrm{SNR}(f) = S(f)/N(f)</math> सिग्नल-टू-शोर अनुपात है, और <math>\ |H(f)|^2 \mathrm{SNR}(f)</math> शोर वर्णक्रमीय घनत्व के लिए शुद्ध फ़िल्टर किए गए सिग्नल का अनुपात है। जब शून्य शोर (यानी अनंत सिग्नल-टू-शोर) होता है, तो वर्गाकार कोष्ठक के अंदर का शब्द 1 के बराबर होता है, जिसका अर्थ है कि वीनर फ़िल्टर सिस्टम का उलटा है, जैसा कि हम उम्मीद कर सकते हैं। हालाँकि, जैसे-जैसे कुछ आवृत्तियों पर शोर बढ़ता है, सिग्नल-टू-शोर अनुपात कम हो जाता है, इसलिए वर्ग कोष्ठक के अंदर का शब्द भी कम हो जाता है। इसका मतलब यह है कि वीनर फ़िल्टर उनके फ़िल्टर किए गए सिग्नल-टू-शोर अनुपात के अनुसार आवृत्तियों को क्षीण करता है।
यहाँ, <math>\ 1/H(f)</math> मूल प्रणाली का प्रतिलोम है, <math>\ \mathrm{SNR}(f) = S(f)/N(f)</math> सिग्नल-से-नॉइज़ अनुपात है, और <math>\ |H(f)|^2 \mathrm{SNR}(f)</math> नॉइज़ वर्णक्रमीय घनत्व के लिए शुद्ध निस्यन्दक किए गए सिग्नल का अनुपात है। जब शून्य नॉइज़ (यानी अनंत सिग्नल-से-नॉइज़) होता है, तो वर्गाकार कोष्ठक के अंदर का शब्द 1 के बराबर होता है, जिसका अर्थ है कि वीनर निस्यन्दक प्रणाली का प्रतिलोम है, जैसा कि हम आशा कर सकते हैं। हालाँकि, जैसे-जैसे कुछ आवृत्तियों पर नॉइज़ बढ़ता है, सिग्नल-से-नॉइज़ अनुपात कम हो जाता है, इसलिए वर्ग कोष्ठक के अंदर का शब्द भी कम हो जाता है। इसका अर्थ यह है कि वीनर निस्यन्दक उनके निस्यन्दक किए गए सिग्नल-से-नॉइज़ अनुपात के अनुसार आवृत्तियों को क्षीण करता है।


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


== व्युत्पत्ति ==
== व्युत्पत्ति ==


जैसा कि ऊपर उल्लेख किया गया है, हम मूल सिग्नल का एक अनुमान तैयार करना चाहते हैं जो माध्य वर्ग त्रुटि को कम करता है, जिसे व्यक्त किया जा सकता है:
जैसा कि ऊपर उल्लेख किया गया है, हम मूल सिग्नल का एक अनुमान तैयार करना चाहते हैं जो माध्य वर्ग त्रुटि को कम करता है, जिसे निम्नलिखित रूप से व्यक्त किया जा सकता है:


:<math>\ \epsilon(f) = \mathbb{E} \left| X(f) - \hat{X}(f) \right|^2</math> .
:<math>\ \epsilon(f) = \mathbb{E} \left| X(f) - \hat{X}(f) \right|^2</math>  


की पिछली परिभाषा के समतुल्य <math>\epsilon</math>, फूरियर रूपांतरण के लिए [[प्लांचरेल प्रमेय]] या पार्सेवल के प्रमेय का उपयोग करके प्राप्त किया जा सकता है।
<math>\epsilon</math> की पिछली परिभाषा के समतुल्य, फूरियर रूपांतरण के लिए [[प्लांचरेल प्रमेय]] या पार्सेवल के प्रमेय का उपयोग करके प्राप्त किया जा सकता है।


यदि हम अभिव्यक्ति में इसके लिए स्थानापन्न करते हैं <math>\ \hat{X}(f)</math>, उपरोक्त को पुनर्व्यवस्थित किया जा सकता है
यदि हम अभिव्यक्ति में इसके लिए <math>\ \hat{X}(f)</math> स्थानापन्न करते हैं, उपरोक्त को पुनर्व्यवस्थित किया जा सकता है


:<math>
:<math>
Line 83: Line 82:
\end{align}
\end{align}
</math>
</math>
हालाँकि, हम यह मान रहे हैं कि शोर सिग्नल से स्वतंत्र है, इसलिए:
हालाँकि, हम यह मान रहे हैं कि नॉइज़ सिग्नल से स्वतंत्र है, इसलिए:


:<math>\ \mathbb{E}\Big\{X(f)V^*(f)\Big\} =  \mathbb{E}\Big\{V(f)X^*(f)\Big\} = 0</math>
:<math>\ \mathbb{E}\Big\{X(f)V^*(f)\Big\} =  \mathbb{E}\Big\{V(f)X^*(f)\Big\} = 0</math>
शक्ति वर्णक्रमीय घनत्वों को प्रतिस्थापित करना <math>\ S(f) </math> और <math>\ N(f) </math>, हमारे पास है:
शक्ति वर्णक्रमीय घनत्व<math>\ S(f) </math> और <math>\ N(f) </math> को प्रतिस्थापित करने पर, हमारे पास निम्न है:


:<math>
:<math>
  \epsilon(f)  = \Big[ 1-G(f)H(f) \Big]\Big[ 1-G(f)H(f) \Big]^ * S(f)  + G(f)G^*(f)N(f)
  \epsilon(f)  = \Big[ 1-G(f)H(f) \Big]\Big[ 1-G(f)H(f) \Big]^ * S(f)  + G(f)G^*(f)N(f)
</math>
</math>
न्यूनतम त्रुटि मान ज्ञात करने के लिए, हम इसके संबंध में [[विर्टिंगर डेरिवेटिव]] की गणना करते हैं <math>\ G(f)</math> और इसे शून्य के बराबर सेट करें।
न्यूनतम त्रुटि मान ज्ञात करने के लिए, हम इसके संबंध में [[विर्टिंगर डेरिवेटिव|विर्टिंगर व्युत्पन्न]] <math>\ G(f)</math> की गणना करते हैं और इसे शून्य के बराबर निर्धारित करें।


:<math>\  
:<math>\  
   \frac{d\epsilon(f)}{dG(f)} = 0 \Rightarrow G^*(f)N(f) - H(f)\Big[1 - G(f)H(f)\Big]^* S(f) = 0
   \frac{d\epsilon(f)}{dG(f)} = 0 \Rightarrow G^*(f)N(f) - H(f)\Big[1 - G(f)H(f)\Big]^* S(f) = 0
</math>
</math>
इस अंतिम समानता को वीनर फ़िल्टर देने के लिए पुन: व्यवस्थित किया जा सकता है।
इस अंतिम समानता को वीनर निस्यन्दक देने के लिए पुन: व्यवस्थित किया जा सकता है।


== यह भी देखें ==
== यह भी देखें ==
Line 120: Line 119:
[[Category: Machine Translated Page]]
[[Category: Machine Translated Page]]
[[Category:Created On 11/08/2023]]
[[Category:Created On 11/08/2023]]
[[Category:Vigyan Ready]]

Latest revision as of 07:47, 17 October 2023

बाएं से: मूल छवि, धुंधली छवि, वीनर विसंवलन का उपयोग करके छवि को धुंधला करना

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

वीनर विसंवलन विधि का छवि विसंवलन अनुप्रयोगों में व्यापक उपयोग होता है, क्योंकि अधिकांश दृश्य छवियों का आवृत्ति वर्णक्रम काफी अच्छी तरह से व्यवहार किया जाता है और आसानी से अनुमान लगाया जा सकता है।

वीनर विसंवलन का नाम नॉर्बर्ट वीनर के नाम पर रखा गया है।

परिभाषा

एक प्रणाली दी गई है:

जहाँ संवलन को दर्शाता है और:

  • समय पर कुछ मूल सिग्नल (अज्ञात) है।
  • रैखिक समय-अपरिवर्तनीय प्रणाली की ज्ञात आवेग प्रतिक्रिया है।
  • कुछ अज्ञात योगात्मक नॉइज़ है, जो से स्वतंत्र है।
  • हमारा देखा हुआ सिग्नल है।

हमारा लक्ष्य कुछ खोजना है ताकि हम निम्नलिखित नुसार का अनुमान लगा सकें:

जहाँ का एक अनुमान है जो माध्य वर्ग त्रुटि को न्यूनतम करता है

,

साथ ही अपेक्षित मूल्य को दर्शाता है। वीनर विसंवलन निस्यन्दक प्रदान करता है। निस्यन्दक को आवृति कार्यक्षेत्र में सबसे आसानी से वर्णित किया गया है:

जहाँ:

  • और के फूरियर रूपांतरण और हैं,
  • मूल सिग्नल का औसत शक्ति स्पेक्ट्रमी घनत्व है,
  • नॉइज़ का औसत शक्ति स्पेक्ट्रमी घनत्व है,
  • , , और के फूरियर रूपांतरण , और हैं, क्रमश,
  • अधिलेख जटिल संयुग्म को दर्शाता है।

निस्यंदन संचालन या तो समय-कार्यक्षेत्र में, जैसा कि ऊपर किया गया है, या आवृति कार्यक्षेत्र में किया जा सकता है:

और फिर प्रतिलोम फूरिये रूपांतर प्राप्त करने के लिए निष्पादित करना

ध्यान दें कि छवियों की स्तिथि में, तर्क और द्वि-आयामी हो जाते हैं; हालाँकि परिणाम वही है।

व्याख्या

वीनर निस्यन्दक का संचालन तब स्पष्ट हो जाता है जब उपरोक्त निस्यन्दक समीकरण को फिर से लिखा जाता है:

यहाँ, मूल प्रणाली का प्रतिलोम है, सिग्नल-से-नॉइज़ अनुपात है, और नॉइज़ वर्णक्रमीय घनत्व के लिए शुद्ध निस्यन्दक किए गए सिग्नल का अनुपात है। जब शून्य नॉइज़ (यानी अनंत सिग्नल-से-नॉइज़) होता है, तो वर्गाकार कोष्ठक के अंदर का शब्द 1 के बराबर होता है, जिसका अर्थ है कि वीनर निस्यन्दक प्रणाली का प्रतिलोम है, जैसा कि हम आशा कर सकते हैं। हालाँकि, जैसे-जैसे कुछ आवृत्तियों पर नॉइज़ बढ़ता है, सिग्नल-से-नॉइज़ अनुपात कम हो जाता है, इसलिए वर्ग कोष्ठक के अंदर का शब्द भी कम हो जाता है। इसका अर्थ यह है कि वीनर निस्यन्दक उनके निस्यन्दक किए गए सिग्नल-से-नॉइज़ अनुपात के अनुसार आवृत्तियों को क्षीण करता है।

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

व्युत्पत्ति

जैसा कि ऊपर उल्लेख किया गया है, हम मूल सिग्नल का एक अनुमान तैयार करना चाहते हैं जो माध्य वर्ग त्रुटि को कम करता है, जिसे निम्नलिखित रूप से व्यक्त किया जा सकता है:

की पिछली परिभाषा के समतुल्य, फूरियर रूपांतरण के लिए प्लांचरेल प्रमेय या पार्सेवल के प्रमेय का उपयोग करके प्राप्त किया जा सकता है।

यदि हम अभिव्यक्ति में इसके लिए स्थानापन्न करते हैं, उपरोक्त को पुनर्व्यवस्थित किया जा सकता है

यदि हम द्विघात का विस्तार करें, तो हमें निम्नलिखित मिलता है:

हालाँकि, हम यह मान रहे हैं कि नॉइज़ सिग्नल से स्वतंत्र है, इसलिए:

शक्ति वर्णक्रमीय घनत्व और को प्रतिस्थापित करने पर, हमारे पास निम्न है:

न्यूनतम त्रुटि मान ज्ञात करने के लिए, हम इसके संबंध में विर्टिंगर व्युत्पन्न की गणना करते हैं और इसे शून्य के बराबर निर्धारित करें।

इस अंतिम समानता को वीनर निस्यन्दक देने के लिए पुन: व्यवस्थित किया जा सकता है।

यह भी देखें

संदर्भ

  • Rafael Gonzalez, Richard Woods, and Steven Eddins. Digital Image Processing Using Matlab. Prentice Hall, 2003.


बाहरी संबंध