बाइबिक प्रक्षेप: Difference between revisions
No edit summary |
No edit summary |
||
(5 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
{{comparison_of_1D_and_2D_interpolation.svg}} | {{comparison_of_1D_and_2D_interpolation.svg}} | ||
{{short description|Extension of cubic interpolation for interpolating data points on a two-dimensional regular grid}} | {{short description|Extension of cubic interpolation for interpolating data points on a two-dimensional regular grid}} | ||
गणित में, | गणित में द्वि-आयामी [[नियमित ग्रिड]] पर डेटा बिंदुओं को प्रक्षेपित करने के लिए बाइबिक प्रक्षेप, क्यूबिक प्रक्षेप का विस्तार है (क्यूबिक स्पलाइन प्रक्षेप के साथ भ्रमित नहीं होना, डेटा सेट में क्यूबिक प्रक्षेप लागू करने की एक विधि)। [[प्रक्षेप|प्रक्षेपित]] सतह (अर्थात कर्नेल आकार, छवि नहीं) [[ द्विरेखीय प्रक्षेप ]]या निकटतम-पड़ोसी प्रक्षेप द्वारा प्राप्त संबंधित सतहों की तुलना में [[चिकना कार्य|सरल कार्य]] है। बाइक्यूबिक प्रक्षेप [[लैग्रेंज बहुपद]],[[ घनीय पट्टी ]] या बाइक्यूबिक कनवल्शन एल्गोरिथम का उपयोग करके पूरा किया जा सकता है। | ||
[[ मूर्ति प्रोद्योगिकी ]] में | [[ मूर्ति प्रोद्योगिकी |छवि प्रसंस्करण]] में बाइक्यूबिक प्रक्षेप को अधिकतर रीसैंपलिंग (बिटमैप) में बिलिनियर या निकटतम-पड़ोसी प्रक्षेप पर चुना जाता है जब गति कोई समस्या नहीं होती है। बिलिनियर प्रक्षेप के विपरीत जो केवल 4 [[ पिक्सेल |पिक्सेल]] (2×2) को ध्यान में रखता है, बाइक्यूबिक प्रक्षेप 16 पिक्सल (4×4) पर विचार करता है। बाइबिक प्रक्षेप के साथ प्रतिदर्श किए गए चित्रण में अलग-अलग प्रक्षेप [[स्थानिक विरोधी अलियासिंग]] हो सकते हैं जो चुने गए बी और सी मानों पर निर्भर करता है। | ||
== संगणना == | == संगणना == | ||
[[Image:Interpolation-bicubic.svg|thumb|right|वर्ग पर बाइबिक प्रक्षेप <math>[0,4] \times [0,4]</math> जिसमें 25 इकाई वर्ग एक साथ पैच किए गए हैं। [[माटप्लोटलिब]] के कार्यान्वयन के अनुसार बाइक्यूबिक प्रक्षेप। रंग फ़ंक्शन मान को इंगित करता है। ब्लैक डॉट्स प्रक्षेपित किए जा रहे निर्धारित डेटा के स्थान हैं। ध्यान दें कि कैसे रंग के नमूने रेडियल सममित नहीं हैं।]] | [[Image:Interpolation-bicubic.svg|thumb|right|वर्ग पर बाइबिक प्रक्षेप <math>[0,4] \times [0,4]</math> जिसमें 25 इकाई वर्ग एक साथ पैच किए गए हैं। [[माटप्लोटलिब]] के कार्यान्वयन के अनुसार बाइक्यूबिक प्रक्षेप। रंग, फ़ंक्शन मान को इंगित करता है। ब्लैक डॉट्स प्रक्षेपित किए जा रहे निर्धारित डेटा के स्थान हैं। ध्यान दें कि कैसे रंग के नमूने रेडियल सममित नहीं हैं।]] | ||
[[Image:Interpolation-bilinear.svg|thumb|right|उपरोक्त के समान डेटासेट पर बिलिनियर प्रक्षेप। सतह के डेरिवेटिव वर्ग सीमाओं पर निरंतर नहीं होते हैं।]] | [[Image:Interpolation-bilinear.svg|thumb|right|उपरोक्त के समान डेटासेट पर बिलिनियर प्रक्षेप। सतह के डेरिवेटिव वर्ग सीमाओं पर निरंतर नहीं होते हैं।]] | ||
[[Image:Interpolation-nearest.svg|thumb|right|उपरोक्त के समान डेटासेट पर निकटतम- | [[Image:Interpolation-nearest.svg|thumb|right|उपरोक्त के समान डेटासेट पर निकटतम-पास के प्रक्षेप।]]मान लीजिए फ़ंक्शन मान <math>f</math> और डेरिवेटिव <math>f_x</math>, <math>f_y</math> और <math>f_{xy}</math> चार कोनों पर <math>(0,0)</math>, <math>(1,0)</math>, <math>(0,1)</math>, और <math>(1,1)</math> इकाई वर्ग जाना जाता है। तब प्रक्षेपित सतह को लिखा जा सकता है: | ||
:<math>p(x,y) = \sum\limits_{i=0}^3 \sum_{j=0}^3 a_{ij} x^i y^j.</math> | :<math>p(x,y) = \sum\limits_{i=0}^3 \sum_{j=0}^3 a_{ij} x^i y^j.</math> | ||
प्रक्षेप समस्या में 16 गुणांक निर्धारित करना | प्रक्षेप समस्या में 16 गुणांक निर्धारित करना सम्मिलित है <math>a_{ij}</math> मिलान <math>p(x,y)</math> फ़ंक्शन मानों के साथ चार समीकरण प्राप्त होते हैं: | ||
# <math>f(0,0) = p(0,0) = a_{00},</math> | # <math>f(0,0) = p(0,0) = a_{00},</math> | ||
# <math>f(1,0) = p(1,0) = a_{00} + a_{10} + a_{20} + a_{30},</math> | # <math>f(1,0) = p(1,0) = a_{00} + a_{10} + a_{20} + a_{30},</math> | ||
# <math>f(0,1) = p(0,1) = a_{00} + a_{01} + a_{02} + a_{03},</math> | # <math>f(0,1) = p(0,1) = a_{00} + a_{01} + a_{02} + a_{03},</math> | ||
# <math>f(1,1) = p(1,1) = \textstyle \sum\limits_{i=0}^3 \sum\limits_{j=0}^3 a_{ij}.</math> | # <math>f(1,1) = p(1,1) = \textstyle \sum\limits_{i=0}^3 \sum\limits_{j=0}^3 a_{ij}.</math> | ||
इसी तरह | इसी तरह <math>x</math> और <math>y</math> डेरिवेटिव के लिए आठ समीकरण निर्देश: | ||
# <math>f_x(0,0) = p_x(0,0) = a_{10},</math> | # <math>f_x(0,0) = p_x(0,0) = a_{10},</math> | ||
# <math>f_x(1,0) = p_x(1,0) = a_{10} + 2a_{20} + 3a_{30},</math> | # <math>f_x(1,0) = p_x(1,0) = a_{10} + 2a_{20} + 3a_{30},</math> | ||
Line 26: | Line 25: | ||
# <math>f_y(0,1) = p_y(0,1) = a_{01} + 2a_{02} + 3a_{03},</math> | # <math>f_y(0,1) = p_y(0,1) = a_{01} + 2a_{02} + 3a_{03},</math> | ||
# <math>f_y(1,1) = p_y(1,1) = \textstyle \sum\limits_{i=0}^3 \sum\limits_{j=1}^3 a_{ij} j.</math> | # <math>f_y(1,1) = p_y(1,1) = \textstyle \sum\limits_{i=0}^3 \sum\limits_{j=1}^3 a_{ij} j.</math> | ||
और | और <math>xy</math> [[मिश्रित आंशिक व्युत्पन्न]] के लिए चार समीकरण: | ||
# <math>f_{xy}(0,0) = p_{xy}(0,0) = a_{11},</math> | # <math>f_{xy}(0,0) = p_{xy}(0,0) = a_{11},</math> | ||
# <math>f_{xy}(1,0) = p_{xy}(1,0) = a_{11} + 2a_{21} + 3a_{31},</math> | # <math>f_{xy}(1,0) = p_{xy}(1,0) = a_{11} + 2a_{21} + 3a_{31},</math> | ||
Line 35: | Line 34: | ||
:<math>p_y(x,y) = \textstyle \sum\limits_{i=0}^3 \sum\limits_{j=1}^3 a_{ij} x^i j y^{j-1},</math> | :<math>p_y(x,y) = \textstyle \sum\limits_{i=0}^3 \sum\limits_{j=1}^3 a_{ij} x^i j y^{j-1},</math> | ||
:<math>p_{xy}(x,y) = \textstyle \sum\limits_{i=1}^3 \sum\limits_{j=1}^3 a_{ij} i x^{i-1} j y^{j-1}.</math> | :<math>p_{xy}(x,y) = \textstyle \sum\limits_{i=1}^3 \sum\limits_{j=1}^3 a_{ij} i x^{i-1} j y^{j-1}.</math> | ||
यह प्रक्रिया | यह प्रक्रिया <math>p(x,y)</math> [[इकाई वर्ग]] पर सतह <math>[0,1] \times [0,1]</math> उत्पन्न करती है जो निरंतर और निरंतर डेरिवेटिव है। मनमाने आकार के नियमित ग्रिड पर बाइबिक प्रक्षेप तब ऐसी बाइबिक सतहों को एक साथ पैच करके पूरा किया जा सकता है यह सुनिश्चित करते हुए कि डेरिवेटिव सीमाओं पर मेल खाते हैं। | ||
अज्ञात मापदंडों | अज्ञात मापदंडों <math>a_{ij}</math> को वेक्टर में समूहीकृत करना | ||
:<math>\alpha=\left[\begin{smallmatrix}a_{00}&a_{10}&a_{20}&a_{30}&a_{01}&a_{11}&a_{21}&a_{31}&a_{02}&a_{12}&a_{22}&a_{32}&a_{03}&a_{13}&a_{23}&a_{33}\end{smallmatrix}\right]^T</math> | :<math>\alpha=\left[\begin{smallmatrix}a_{00}&a_{10}&a_{20}&a_{30}&a_{01}&a_{11}&a_{21}&a_{31}&a_{02}&a_{12}&a_{22}&a_{32}&a_{03}&a_{13}&a_{23}&a_{33}\end{smallmatrix}\right]^T</math> | ||
और | और | ||
:<math>x=\left[\begin{smallmatrix}f(0,0)&f(1,0)&f(0,1)&f(1,1)&f_x(0,0)&f_x(1,0)&f_x(0,1)&f_x(1,1)&f_y(0,0)&f_y(1,0)&f_y(0,1)&f_y(1,1)&f_{xy}(0,0)&f_{xy}(1,0)&f_{xy}(0,1)&f_{xy}(1,1)\end{smallmatrix}\right]^T,</math> | :<math>x=\left[\begin{smallmatrix}f(0,0)&f(1,0)&f(0,1)&f(1,1)&f_x(0,0)&f_x(1,0)&f_x(0,1)&f_x(1,1)&f_y(0,0)&f_y(1,0)&f_y(0,1)&f_y(1,1)&f_{xy}(0,0)&f_{xy}(1,0)&f_{xy}(0,1)&f_{xy}(1,1)\end{smallmatrix}\right]^T,</math> | ||
समीकरणों की उपरोक्त प्रणाली को रैखिक समीकरण | समीकरणों की उपरोक्त प्रणाली को रैखिक समीकरण <math>A\alpha=x</math> के लिए मैट्रिक्स में सुधारा जा सकता है। | ||
आव्यूह का | आव्यूह का उल्टा करने से अधिक उपयोगी रेखीय समीकरण <math>A^{-1}x=\alpha</math> प्राप्त होता है जहाँ | ||
:<math>A^{-1}=\left[\begin{smallmatrix} | :<math>A^{-1}=\left[\begin{smallmatrix} | ||
1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\ | 1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\ | ||
Line 62: | Line 61: | ||
4 & -4 & -4 & 4 & 2 & 2 & -2 & -2 & 2 & -2 & 2 & -2 & 1 & 1 & 1 & 1 | 4 & -4 & -4 & 4 & 2 & 2 & -2 & -2 & 2 & -2 & 2 & -2 & 1 & 1 & 1 & 1 | ||
\end{smallmatrix}\right],</math> | \end{smallmatrix}\right],</math> | ||
जो कि <math>\alpha</math> को शीघ्र और सुगमता से गणना करने के लिए अनुमति प्रदान करता है। | |||
16 गुणांकों के लिए एक और संक्षिप्त मैट्रिक्स रूप हो सकता है: | 16 गुणांकों के लिए एक और संक्षिप्त मैट्रिक्स रूप हो सकता है: | ||
Line 93: | Line 92: | ||
\end{bmatrix}, | \end{bmatrix}, | ||
</math> | </math> | ||
जहाँ | |||
:<math>p(x,y)=\begin{bmatrix}1 | :<math>p(x,y)=\begin{bmatrix}1 | ||
&x&x^2&x^3\end{bmatrix} | &x&x^2&x^3\end{bmatrix} | ||
Line 102: | Line 101: | ||
== | == सरलरेखी ग्रिड का विस्तार == | ||
अधिकतर एप्लिकेशन यूनिट स्क्वायर के स्थान पर सरलरेखी ग्रिड पर डेटा का उपयोग करके बाइबिक प्रक्षेप के लिए कॉल करते हैं। इस स्थिति में <math>p_x, p_y,</math> और <math>p_{xy}</math> के लिए पहचान बनना, | |||
:<math>p_x(x,y) = \textstyle \sum\limits_{i=1}^3 \sum\limits_{j=0}^3 \frac{a_{ij} i x^{i-1} y^j}{\Delta x},</math> | :<math>p_x(x,y) = \textstyle \sum\limits_{i=1}^3 \sum\limits_{j=0}^3 \frac{a_{ij} i x^{i-1} y^j}{\Delta x},</math> | ||
:<math>p_y(x,y) = \textstyle \sum\limits_{i=0}^3 \sum\limits_{j=1}^3 \frac{a_{ij} x^i j y^{j-1}}{\Delta y},</math> | :<math>p_y(x,y) = \textstyle \sum\limits_{i=0}^3 \sum\limits_{j=1}^3 \frac{a_{ij} x^i j y^{j-1}}{\Delta y},</math> | ||
:<math>p_{xy}(x,y) = \textstyle \sum\limits_{i=1}^3 \sum\limits_{j=1}^3 \frac{a_{ij} i x^{i-1} j y^{j-1}}{\Delta x \Delta y},</math> | :<math>p_{xy}(x,y) = \textstyle \sum\limits_{i=1}^3 \sum\limits_{j=1}^3 \frac{a_{ij} i x^{i-1} j y^{j-1}}{\Delta x \Delta y},</math> | ||
जहाँ <math>\Delta x</math>, <math>x</math> सेल की रिक्ति है जिसमें बिंदु <math>(x,y)</math> है और इसी तरह <math>\Delta y</math> के लिए, | |||
इस | |||
इस स्थिति में गुणांक की गणना करने के लिए सबसे व्यावहारिक दृष्टिकोण <math>\alpha</math> जाने देना है | |||
:<math>x=\left[\begin{smallmatrix}f(0,0)&f(1,0)&f(0,1)&f(1,1)&\Delta x f_x(0,0)&\Delta xf_x(1,0)&\Delta x f_x(0,1)&\Delta x f_x(1,1)&\Delta y f_y(0,0)&\Delta y f_y(1,0)&\Delta y f_y(0,1)&\Delta y f_y(1,1)&\Delta x \Delta y f_{xy}(0,0)&\Delta x \Delta y f_{xy}(1,0)&\Delta x \Delta y f_{xy}(0,1)&\Delta x \Delta y f_{xy}(1,1)\end{smallmatrix}\right]^T,</math> | :<math>x=\left[\begin{smallmatrix}f(0,0)&f(1,0)&f(0,1)&f(1,1)&\Delta x f_x(0,0)&\Delta xf_x(1,0)&\Delta x f_x(0,1)&\Delta x f_x(1,1)&\Delta y f_y(0,0)&\Delta y f_y(1,0)&\Delta y f_y(0,1)&\Delta y f_y(1,1)&\Delta x \Delta y f_{xy}(0,0)&\Delta x \Delta y f_{xy}(1,0)&\Delta x \Delta y f_{xy}(0,1)&\Delta x \Delta y f_{xy}(1,1)\end{smallmatrix}\right]^T,</math> | ||
पहले जैसा <math>A</math> के साथ पुनः <math>\alpha=A^{-1}x</math> हल करना। अगले सामान्यीकृत प्रक्षेपित चर की गणना इस प्रकार की जाती है, | |||
:<math>\overline{x} = \frac{x-x_0}{x_1-x_0}</math>, | :<math>\overline{x} = \frac{x-x_0}{x_1-x_0}</math>, | ||
:<math>\overline{y} = \frac{y-y_0}{y_1-y_0}</math> | :<math>\overline{y} = \frac{y-y_0}{y_1-y_0}</math> | ||
जहाँ <math>x_0, x_1, y_0,</math> और <math>y_1</math>, <math>x</math> और <math>y</math> बिंदु के आसपास के ग्रिड बिंदुओं के निर्देशांक <math>(x,y)</math> हैं तब प्रक्षेपित सतह बन जाती है | |||
:<math>p(x,y) = \sum\limits_{i=0}^3 \sum_{j=0}^3 a_{ij} {\overline{x}}^i {\overline{y}}^j.</math> | :<math>p(x,y) = \sum\limits_{i=0}^3 \sum_{j=0}^3 a_{ij} {\overline{x}}^i {\overline{y}}^j.</math> | ||
Line 120: | Line 120: | ||
== फ़ंक्शन मानों से डेरिवेटिव ढूँढना == | == फ़ंक्शन मानों से डेरिवेटिव ढूँढना == | ||
यदि डेरिवेटिव अज्ञात हैं | यदि डेरिवेटिव अज्ञात हैं तो वे सामान्य रूप से इकाई वर्ग के कोनों के पास के बिंदुओं पर फ़ंक्शन मानों से अनुमानित होते हैं। उदाहरण: परिमित अंतर का उपयोग करना। | ||
एकल डेरिवेटिव | एकल डेरिवेटिव <math>f_x</math> या <math>f_y</math> में से किसी एक को खोजने हेतु उस विधि का उपयोग करते हुए उपयुक्त अक्ष में आसपास के दो बिंदुओं के बीच की ढलान का पता लगाएं। उदाहरण के लिए गणना करने हेतु <math>f_x</math> किसी एक बिंदु के लिए <math>f(x,y)</math> खोजें तथा लक्ष्य बिंदु के बाएँ और दाएँ बिंदुओं के लिए और उनकी ढलान की गणना करें, और इसी तरह <math>f_y</math> का भी। | ||
क्रॉस डेरिवेटिव | क्रॉस डेरिवेटिव <math>f_{xy}</math> खोजने के लिए एक समय में दोनों अक्षों में व्युत्पन्न लें। उदाहरण के लिए कोई पहले <math>f_x</math> उपयोग कर सकता है एवं <math>x</math> लक्ष्य बिंदु के ऊपर और नीचे के बिंदुओं का डेरिवेटिव खोजने की प्रक्रिया फिर उपयोग करें, उन मूल्यों पर प्रक्रिया (सामान्य रूप से, के मूल्यों के बजाय <math>f</math> उन बिंदुओं के लिए) का मान प्राप्त करने के लिए <math>f_{xy}(x,y)</math> लक्ष्य बिंदु के लिए। (या कोई इसे विपरीत दिशा में कर सकता है, पहले गणना कर सकता है <math>f_y</math> और तब <math>f_x</math> उनकी ओर से दोनों बराबर परिणाम देते हैं। | ||
डेटासेट के किनारों पर | डेटासेट के किनारों पर जब कोई आस-पास के कुछ बिंदुओं को याद कर रहा है तो लापता बिंदुओं को कई तरीकों से अनुमानित किया जा सकता है। एक सरल और सामान्य विधि यह मान लेना है कि उपस्थित बिंदु से लक्ष्य बिंदु तक ढलान बिना किसी और बदलाव के जारी है और इसका उपयोग लापता बिंदु के लिए काल्पनिक मूल्य की गणना करने के लिए किया जाता है। | ||
== बाइक्यूबिक [[कनवल्शन]] एल्गोरिथम == | == बाइक्यूबिक [[कनवल्शन]] एल्गोरिथम == | ||
बाइबिक | बाइबिक पट्टी प्रक्षेप के लिए प्रत्येक ग्रिड सेल के लिए ऊपर वर्णित रैखिक प्रणाली के समाधान की आवश्यकता होती है। दोनों आयामों में निम्नलिखित कर्नेल के साथ कनवल्शन लागू करके समान गुणों वाला एक प्रक्षेपक प्राप्त किया जा सकता है: | ||
:<math>W(x) = | :<math>W(x) = | ||
\begin{cases} | \begin{cases} | ||
Line 138: | Line 138: | ||
\end{cases} | \end{cases} | ||
</math> | </math> | ||
जहाँ <math>a</math> सामान्य रूप से -0.5 या -0.75 पर सेट होता है। ध्यान दें कि <math>W(0)=1</math> और <math>W(n)=0</math> सभी अशून्य पूर्णांकों के लिए <math>n</math>. | |||
यह दृष्टिकोण कीज़ द्वारा प्रस्तावित किया गया था | यह दृष्टिकोण कीज़ द्वारा प्रस्तावित किया गया था जिन्होंने यह दिखाया कि मूल कार्य के नमूनाकरण अंतराल के संबंध में <math>a=-0.5</math> तीसरे क्रम के अभिसरण का उत्पादन करता है।<ref name=Keys>{{cite journal | ||
| author = R. Keys | | author = R. Keys | ||
| year = 1981 | | year = 1981 | ||
Line 152: | Line 152: | ||
| citeseerx = 10.1.1.320.776 | | citeseerx = 10.1.1.320.776 | ||
}}</ref> | }}</ref> | ||
यदि हम सामान्य | |||
यदि हम सामान्य स्थिति के लिए मैट्रिक्स नोटेशन का उपयोग करते हैं <math>a=-0.5</math> तब हम समीकरण को अधिक अनुकूल तरीके से व्यक्त कर सकते हैं: | |||
:<math>p(t) = | :<math>p(t) = | ||
\tfrac{1}{2} | \tfrac{1}{2} | ||
Line 177: | Line 178: | ||
\end{bmatrix} | \end{bmatrix} | ||
</math> | </math> | ||
के लिए <math>t</math> | के लिए आयाम <math>t</math> के लिए 0 और 1 के बीच। ध्यान दें कि 1-आयामी क्यूबिक कनवल्शन प्रक्षेप के लिए 4 नमूना बिंदुओं की आवश्यकता होती है। प्रत्येक पूछताछ के लिए दो नमूने उसके बाईं ओर और दो नमूने दाईं ओर स्थित हैं। इस पाठ में इन बिंदुओं को -1 से 2 तक अनुक्रमित किया गया है। यहाँ अनुक्रमित बिंदु 0 से जांच बिंदु तक की दूरी को <math>t</math> द्वारा निरूपित किया जाता है। | ||
दो आयामों के लिए पहली बार एक बार | दो आयामों के लिए पहली बार एक बार <math>x</math> लागू किया गया और फिर <math>y</math> से : | ||
:<math>b_{-1} = p(t_x, f_{(-1,-1)}, f_{(0,-1)}, f_{(1,-1)}, f_{(2,-1)}),</math> | :<math>b_{-1} = p(t_x, f_{(-1,-1)}, f_{(0,-1)}, f_{(1,-1)}, f_{(2,-1)}),</math> | ||
Line 186: | Line 187: | ||
:<math>b_{2} = p(t_x, f_{(-1,2)}, f_{(0,2)}, f_{(1,2)}, f_{(2,2)}),</math> | :<math>b_{2} = p(t_x, f_{(-1,2)}, f_{(0,2)}, f_{(1,2)}, f_{(2,2)}),</math> | ||
:<math>p(x,y) = p(t_y, b_{-1}, b_{0}, b_{1}, b_{2}).</math> | :<math>p(x,y) = p(t_y, b_{-1}, b_{0}, b_{1}, b_{2}).</math> | ||
== कंप्यूटर ग्राफिक्स में प्रयोग करें == | == कंप्यूटर ग्राफिक्स में प्रयोग करें == | ||
[[Image:Accutance.svg|250px|thumb|इस आंकड़े का निचला आधा | [[Image:Accutance.svg|250px|thumb|इस आंकड़े का निचला आधा भाग ऊपरी आधे भाग का आवर्धन है यह दर्शाता है कि बाएं हाथ की रेखा की स्पष्ट [[तीक्ष्णता]] कैसे बनाई जाती है। बाइबिक प्रक्षेप ओवरशूट का कारण बनता है जिससे तीक्ष्णता बढ़ जाती है।]]<!--Don't scale the image, it will greatly reduce the effect--> | ||
बाइक्यूबिक एल्गोरिद्म का उपयोग | बाइक्यूबिक एल्गोरिद्म का उपयोग अधिकतर प्रदर्शन के लिए छवियों और वीडियो को स्केल करने के लिए किया जाता है (बिटमैप रीसैंपलिंग देखें )। यह सामान्य [[बिलिनियर फ़िल्टरिंग]] एल्गोरिथम की तुलना में उत्तम विवरण को उत्तम बनाए रखता है। | ||
जबकि कर्नेल पर नकारात्मक लोब के कारण यह [[ ओवरशूट (संकेत) |ओवरशूट (संकेत)]] (हेलोइंग) का कारण बनता है। यह [[क्लिपिंग (सिग्नल प्रोसेसिंग)]] का कारण बन सकता है और एक आर्टिफैक्ट है ([[बजती हुई कलाकृतियाँ]] भी देखें) परन्तु यह तीक्ष्णता (स्पष्ट तीक्ष्णता) को बढ़ाता है और वांछनीय हो सकता है। | |||
== यह भी देखें == | == यह भी देखें == | ||
Line 220: | Line 220: | ||
* [http://mathformeremortals.wordpress.com/2013/01/15/bicubic-interpolation-excel-worksheet-function/ Excel Worksheet Function for Bicubic Lagrange Interpolation] | * [http://mathformeremortals.wordpress.com/2013/01/15/bicubic-interpolation-excel-worksheet-function/ Excel Worksheet Function for Bicubic Lagrange Interpolation] | ||
{{DEFAULTSORT:Bicubic Interpolation}} | {{DEFAULTSORT:Bicubic Interpolation}} | ||
[[Category: | [[Category:Articles using Template|Bicubic Interpolation]] | ||
[[Category:Created On 02/03/2023]] | [[Category:Created On 02/03/2023|Bicubic Interpolation]] | ||
[[Category:Lua-based templates|Bicubic Interpolation]] | |||
[[Category:Machine Translated Page|Bicubic Interpolation]] | |||
[[Category:Pages with empty portal template|Bicubic Interpolation]] | |||
[[Category:Pages with script errors|Bicubic Interpolation]] | |||
[[Category:Portal templates with redlinked portals|Bicubic Interpolation]] | |||
[[Category:Short description with empty Wikidata description|Bicubic Interpolation]] | |||
[[Category:Templates Vigyan Ready|Bicubic Interpolation]] | |||
[[Category:Templates that add a tracking category|Bicubic Interpolation]] | |||
[[Category:Templates that generate short descriptions|Bicubic Interpolation]] | |||
[[Category:Templates using TemplateData|Bicubic Interpolation]] | |||
[[Category:बहुभिन्नरूपी प्रक्षेप|Bicubic Interpolation]] | |||
[[Category:मूर्ति प्रोद्योगिकी|Bicubic Interpolation]] |
Latest revision as of 18:15, 20 March 2023
गणित में द्वि-आयामी नियमित ग्रिड पर डेटा बिंदुओं को प्रक्षेपित करने के लिए बाइबिक प्रक्षेप, क्यूबिक प्रक्षेप का विस्तार है (क्यूबिक स्पलाइन प्रक्षेप के साथ भ्रमित नहीं होना, डेटा सेट में क्यूबिक प्रक्षेप लागू करने की एक विधि)। प्रक्षेपित सतह (अर्थात कर्नेल आकार, छवि नहीं) द्विरेखीय प्रक्षेप या निकटतम-पड़ोसी प्रक्षेप द्वारा प्राप्त संबंधित सतहों की तुलना में सरल कार्य है। बाइक्यूबिक प्रक्षेप लैग्रेंज बहुपद,घनीय पट्टी या बाइक्यूबिक कनवल्शन एल्गोरिथम का उपयोग करके पूरा किया जा सकता है।
छवि प्रसंस्करण में बाइक्यूबिक प्रक्षेप को अधिकतर रीसैंपलिंग (बिटमैप) में बिलिनियर या निकटतम-पड़ोसी प्रक्षेप पर चुना जाता है जब गति कोई समस्या नहीं होती है। बिलिनियर प्रक्षेप के विपरीत जो केवल 4 पिक्सेल (2×2) को ध्यान में रखता है, बाइक्यूबिक प्रक्षेप 16 पिक्सल (4×4) पर विचार करता है। बाइबिक प्रक्षेप के साथ प्रतिदर्श किए गए चित्रण में अलग-अलग प्रक्षेप स्थानिक विरोधी अलियासिंग हो सकते हैं जो चुने गए बी और सी मानों पर निर्भर करता है।
संगणना
मान लीजिए फ़ंक्शन मान और डेरिवेटिव , और चार कोनों पर , , , और इकाई वर्ग जाना जाता है। तब प्रक्षेपित सतह को लिखा जा सकता है:
प्रक्षेप समस्या में 16 गुणांक निर्धारित करना सम्मिलित है मिलान फ़ंक्शन मानों के साथ चार समीकरण प्राप्त होते हैं:
इसी तरह और डेरिवेटिव के लिए आठ समीकरण निर्देश:
और मिश्रित आंशिक व्युत्पन्न के लिए चार समीकरण:
ऊपर दिए गए भावों में निम्नलिखित सर्वसमिकाओं का उपयोग किया गया है:
यह प्रक्रिया इकाई वर्ग पर सतह उत्पन्न करती है जो निरंतर और निरंतर डेरिवेटिव है। मनमाने आकार के नियमित ग्रिड पर बाइबिक प्रक्षेप तब ऐसी बाइबिक सतहों को एक साथ पैच करके पूरा किया जा सकता है यह सुनिश्चित करते हुए कि डेरिवेटिव सीमाओं पर मेल खाते हैं।
अज्ञात मापदंडों को वेक्टर में समूहीकृत करना
और
समीकरणों की उपरोक्त प्रणाली को रैखिक समीकरण के लिए मैट्रिक्स में सुधारा जा सकता है।
आव्यूह का उल्टा करने से अधिक उपयोगी रेखीय समीकरण प्राप्त होता है जहाँ
जो कि को शीघ्र और सुगमता से गणना करने के लिए अनुमति प्रदान करता है।
16 गुणांकों के लिए एक और संक्षिप्त मैट्रिक्स रूप हो सकता है:
या
जहाँ
सरलरेखी ग्रिड का विस्तार
अधिकतर एप्लिकेशन यूनिट स्क्वायर के स्थान पर सरलरेखी ग्रिड पर डेटा का उपयोग करके बाइबिक प्रक्षेप के लिए कॉल करते हैं। इस स्थिति में और के लिए पहचान बनना,
जहाँ , सेल की रिक्ति है जिसमें बिंदु है और इसी तरह के लिए,
इस स्थिति में गुणांक की गणना करने के लिए सबसे व्यावहारिक दृष्टिकोण जाने देना है
पहले जैसा के साथ पुनः हल करना। अगले सामान्यीकृत प्रक्षेपित चर की गणना इस प्रकार की जाती है,
- ,
जहाँ और , और बिंदु के आसपास के ग्रिड बिंदुओं के निर्देशांक हैं तब प्रक्षेपित सतह बन जाती है
फ़ंक्शन मानों से डेरिवेटिव ढूँढना
यदि डेरिवेटिव अज्ञात हैं तो वे सामान्य रूप से इकाई वर्ग के कोनों के पास के बिंदुओं पर फ़ंक्शन मानों से अनुमानित होते हैं। उदाहरण: परिमित अंतर का उपयोग करना।
एकल डेरिवेटिव या में से किसी एक को खोजने हेतु उस विधि का उपयोग करते हुए उपयुक्त अक्ष में आसपास के दो बिंदुओं के बीच की ढलान का पता लगाएं। उदाहरण के लिए गणना करने हेतु किसी एक बिंदु के लिए खोजें तथा लक्ष्य बिंदु के बाएँ और दाएँ बिंदुओं के लिए और उनकी ढलान की गणना करें, और इसी तरह का भी।
क्रॉस डेरिवेटिव खोजने के लिए एक समय में दोनों अक्षों में व्युत्पन्न लें। उदाहरण के लिए कोई पहले उपयोग कर सकता है एवं लक्ष्य बिंदु के ऊपर और नीचे के बिंदुओं का डेरिवेटिव खोजने की प्रक्रिया फिर उपयोग करें, उन मूल्यों पर प्रक्रिया (सामान्य रूप से, के मूल्यों के बजाय उन बिंदुओं के लिए) का मान प्राप्त करने के लिए लक्ष्य बिंदु के लिए। (या कोई इसे विपरीत दिशा में कर सकता है, पहले गणना कर सकता है और तब उनकी ओर से दोनों बराबर परिणाम देते हैं।
डेटासेट के किनारों पर जब कोई आस-पास के कुछ बिंदुओं को याद कर रहा है तो लापता बिंदुओं को कई तरीकों से अनुमानित किया जा सकता है। एक सरल और सामान्य विधि यह मान लेना है कि उपस्थित बिंदु से लक्ष्य बिंदु तक ढलान बिना किसी और बदलाव के जारी है और इसका उपयोग लापता बिंदु के लिए काल्पनिक मूल्य की गणना करने के लिए किया जाता है।
बाइक्यूबिक कनवल्शन एल्गोरिथम
बाइबिक पट्टी प्रक्षेप के लिए प्रत्येक ग्रिड सेल के लिए ऊपर वर्णित रैखिक प्रणाली के समाधान की आवश्यकता होती है। दोनों आयामों में निम्नलिखित कर्नेल के साथ कनवल्शन लागू करके समान गुणों वाला एक प्रक्षेपक प्राप्त किया जा सकता है:
जहाँ सामान्य रूप से -0.5 या -0.75 पर सेट होता है। ध्यान दें कि और सभी अशून्य पूर्णांकों के लिए .
यह दृष्टिकोण कीज़ द्वारा प्रस्तावित किया गया था जिन्होंने यह दिखाया कि मूल कार्य के नमूनाकरण अंतराल के संबंध में तीसरे क्रम के अभिसरण का उत्पादन करता है।[1]
यदि हम सामान्य स्थिति के लिए मैट्रिक्स नोटेशन का उपयोग करते हैं तब हम समीकरण को अधिक अनुकूल तरीके से व्यक्त कर सकते हैं:
के लिए आयाम के लिए 0 और 1 के बीच। ध्यान दें कि 1-आयामी क्यूबिक कनवल्शन प्रक्षेप के लिए 4 नमूना बिंदुओं की आवश्यकता होती है। प्रत्येक पूछताछ के लिए दो नमूने उसके बाईं ओर और दो नमूने दाईं ओर स्थित हैं। इस पाठ में इन बिंदुओं को -1 से 2 तक अनुक्रमित किया गया है। यहाँ अनुक्रमित बिंदु 0 से जांच बिंदु तक की दूरी को द्वारा निरूपित किया जाता है।
दो आयामों के लिए पहली बार एक बार लागू किया गया और फिर से :
कंप्यूटर ग्राफिक्स में प्रयोग करें
बाइक्यूबिक एल्गोरिद्म का उपयोग अधिकतर प्रदर्शन के लिए छवियों और वीडियो को स्केल करने के लिए किया जाता है (बिटमैप रीसैंपलिंग देखें )। यह सामान्य बिलिनियर फ़िल्टरिंग एल्गोरिथम की तुलना में उत्तम विवरण को उत्तम बनाए रखता है।
जबकि कर्नेल पर नकारात्मक लोब के कारण यह ओवरशूट (संकेत) (हेलोइंग) का कारण बनता है। यह क्लिपिंग (सिग्नल प्रोसेसिंग) का कारण बन सकता है और एक आर्टिफैक्ट है (बजती हुई कलाकृतियाँ भी देखें) परन्तु यह तीक्ष्णता (स्पष्ट तीक्ष्णता) को बढ़ाता है और वांछनीय हो सकता है।
यह भी देखें
- स्थानिक विरोधी अलियासिंग
- बेजियर सतह
- बिलिनियर प्रक्षेप
- क्यूबिक हर्मिट स्पलाइन, बाइक्यूबिक स्पलाइन का एक-आयामी एनालॉग
- लैंक्ज़ोस रीसैंपलिंग
- प्राकृतिक पड़ोसी प्रक्षेप
- सिंक फिल्टर
- तख़्ता प्रक्षेप
- ट्राइक्यूबिक प्रक्षेप
- दिशात्मक घन कनवल्शन प्रक्षेप
संदर्भ
- ↑ R. Keys (1981). "Cubic convolution interpolation for digital image processing". IEEE Transactions on Acoustics, Speech, and Signal Processing. 29 (6): 1153–1160. Bibcode:1981ITASS..29.1153K. CiteSeerX 10.1.1.320.776. doi:10.1109/TASSP.1981.1163711.