बाइबिक प्रक्षेप: Difference between revisions

From Vigyanwiki
No edit summary
No edit summary
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) पर विचार करता है। बाइबिक प्रक्षेप के साथ रीसैंपल किए गए चित्रण में अलग-अलग प्रक्षेप [[स्थानिक विरोधी अलियासिंग]] हो सकते हैं जो चुने गए बी और सी मानों पर निर्भर करता है।
[[ मूर्ति प्रोद्योगिकी |छवि प्रसंस्करण]] में बाइक्यूबिक प्रक्षेप को अधिकतर रीसैंपलिंग (बिटमैप) में बिलिनियर या निकटतम-पड़ोसी प्रक्षेप पर चुना जाता है जब गति कोई समस्या नहीं होती है। बिलिनियर प्रक्षेप के विपरीत जो केवल 4 [[ पिक्सेल |पिक्सेल]] (2×2) को ध्यान में रखता है, बाइक्यूबिक प्रक्षेप 16 पिक्सल (4×4) पर विचार करता है। बाइबिक प्रक्षेप के साथ रीसैंपल किए गए चित्रण में अलग-अलग प्रक्षेप [[स्थानिक विरोधी अलियासिंग]] हो सकते हैं जो चुने गए बी और सी मानों पर निर्भर करता है।
Line 7: Line 7:
== संगणना ==
== संगणना ==


[[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|उपरोक्त के समान डेटासेट पर निकटतम-पड़ोसी प्रक्षेप।]]मान लीजिए फ़ंक्शन मान <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> इकाई वर्ग का जाना जाता है। प्रक्षेपित सतह को तब लिखा जा सकता है:
[[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 गुणांक निर्धारित करना सम्मिलित है <math>a_{ij}</math>.
प्रक्षेप समस्या में 16 गुणांक निर्धारित करना सम्मिलित है <math>a_{ij}</math> मिलान <math>p(x,y)</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>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 38: Line 36:
यह प्रक्रिया <math>p(x,y)</math> [[इकाई वर्ग]] पर एक सतह <math>[0,1] \times [0,1]</math> उत्पन्न करती है जो निरंतर और निरंतर डेरिवेटिव है। मनमाने आकार के नियमित ग्रिड पर बाइबिक प्रक्षेप तब ऐसी बाइबिक सतहों को एक साथ पैच करके पूरा किया जा सकता है यह सुनिश्चित करते हुए कि डेरिवेटिव सीमाओं पर मेल खाते हैं।
यह प्रक्रिया <math>p(x,y)</math> [[इकाई वर्ग]] पर एक सतह <math>[0,1] \times [0,1]</math> उत्पन्न करती है जो निरंतर और निरंतर डेरिवेटिव है। मनमाने आकार के नियमित ग्रिड पर बाइबिक प्रक्षेप तब ऐसी बाइबिक सतहों को एक साथ पैच करके पूरा किया जा सकता है यह सुनिश्चित करते हुए कि डेरिवेटिव सीमाओं पर मेल खाते हैं।


अज्ञात मापदंडों को समूहीकृत करना <math>a_{ij}</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\alpha=x</math> के लिए मैट्रिक्स में सुधारा जा सकता है।


आव्यूह का उलटा करने से अधिक उपयोगी रेखीय समीकरण प्राप्त होता है <math>A^{-1}x=\alpha</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 63: 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> शीघ्र और सुगमता से गणना करने के लिए।
जो कि <math>\alpha</math> को शीघ्र और सुगमता से गणना करने के लिए अनुमति प्रदान करता है।


16 गुणांकों के लिए एक और संक्षिप्त मैट्रिक्स रूप हो सकता है:
16 गुणांकों के लिए एक और संक्षिप्त मैट्रिक्स रूप हो सकता है:
Line 94: 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 103: Line 101:




== रेक्टिलाइनियर ग्रिड का विस्तार ==
== सरलरेखी ग्रिड का विस्तार ==


अधिकतर एप्लिकेशन यूनिट स्क्वायर के स्थान पर रेक्टिलाइनियर ग्रिड पर डेटा का उपयोग करके बाइबिक प्रक्षेप के लिए कॉल करते हैं। इस स्थिति में  <math>p_x, p_y,</math> और <math>p_{xy}</math> के लिए पहचान बनना,
अधिकतर एप्लिकेशन यूनिट स्क्वायर के स्थान पर सरलरेखी ग्रिड पर डेटा का उपयोग करके बाइबिक प्रक्षेप के लिए कॉल करते हैं। इस स्थिति में  <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>\Delta x</math>, <math>x</math> सेल की रिक्ति है जिसमें बिंदु <math>(x,y)</math> है और इसी तरह के लिए <math>\Delta y</math>.


इस स्थिति में गुणांक की गणना करने के लिए सबसे व्यावहारिक दृष्टिकोण <math>\alpha</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>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>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 122: 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_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_y</math> उन मूल्यों पर प्रक्रिया (सामान्य रूप से, के मूल्यों के बजाय <math>f</math> उन बिंदुओं के लिए) का मान प्राप्त करने के लिए <math>f_{xy}(x,y)</math> लक्ष्य बिंदु के लिए। (या कोई इसे विपरीत दिशा में कर सकता है, पहले गणना कर सकता है <math>f_y</math> और तब <math>f_x</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 140: 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</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
यह दृष्टिकोण कीज़ द्वारा प्रस्तावित किया गया था जिन्होंने यह दिखाया कि मूल कार्य के नमूनाकरण अंतराल के संबंध में <math>a=-0.5</math> तीसरे क्रम के अभिसरण का उत्पादन करता है।<ref name=Keys>{{cite journal
  | author = R. Keys
  | author = R. Keys
  | year = 1981
  | year = 1981
Line 154: Line 152:
  | citeseerx = 10.1.1.320.776
  | citeseerx = 10.1.1.320.776
  }}</ref>
  }}</ref>
यदि हम सामान्य मामले के लिए मैट्रिक्स नोटेशन का उपयोग करते हैं <math>a=-0.5</math>, हम समीकरण को अधिक अनुकूल तरीके से व्यक्त कर सकते हैं:
 
यदि हम सामान्य स्थिति के लिए मैट्रिक्स नोटेशन का उपयोग करते हैं <math>a=-0.5</math> तब हम समीकरण को अधिक अनुकूल तरीके से व्यक्त कर सकते हैं:
:<math>p(t) =
:<math>p(t) =
\tfrac{1}{2}
\tfrac{1}{2}
Line 179: Line 178:
\end{bmatrix}
\end{bmatrix}
</math>
</math>
के लिए <math>t</math> एक आयाम के लिए 0 और 1 के बीच। ध्यान दें कि 1-आयामी क्यूबिक कनवल्शन प्रक्षेप के लिए 4 नमूना बिंदुओं की आवश्यकता होती है। प्रत्येक पूछताछ के लिए दो नमूने उसके बाईं ओर और दो नमूने दाईं ओर स्थित हैं। इस पाठ में इन बिंदुओं को -1 से 2 तक अनुक्रमित किया गया है। 0 से अनुक्रमित बिंदु से पूछताछ बिंदु तक की दूरी को द्वारा निरूपित किया जाता है <math>t</math> यहाँ।
के लिए आयाम <math>t</math> के लिए 0 और 1 के बीच। ध्यान दें कि 1-आयामी क्यूबिक कनवल्शन प्रक्षेप के लिए 4 नमूना बिंदुओं की आवश्यकता होती है। प्रत्येक पूछताछ के लिए दो नमूने उसके बाईं ओर और दो नमूने दाईं ओर स्थित हैं। इस पाठ में इन बिंदुओं को -1 से 2 तक अनुक्रमित किया गया है। यहाँ अनुक्रमित बिंदु 0 से जांच बिंदु तक की दूरी को <math>t</math> द्वारा निरूपित किया जाता है।


दो आयामों के लिए पहली बार एक बार लागू किया गया <math>x</math> और फिर से <math>y</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 192: Line 191:
== कंप्यूटर ग्राफिक्स में प्रयोग करें ==
== कंप्यूटर ग्राफिक्स में प्रयोग करें ==


[[Image:Accutance.svg|250px|thumb|इस आंकड़े का निचला आधा हिस्सा ऊपरी आधे हिस्से का आवर्धन है, यह दर्शाता है कि बाएं हाथ की रेखा की स्पष्ट [[तीक्ष्णता]] कैसे बनाई जाती है। बाइबिक प्रक्षेप ओवरशूट का कारण बनता है, जिससे तीक्ष्णता बढ़ जाती है।]]<!--Don't scale the image, it will greatly reduce the effect-->
[[Image:Accutance.svg|250px|thumb|इस आंकड़े का निचला आधा भाग ऊपरी आधे भाग का आवर्धन है यह दर्शाता है कि बाएं हाथ की रेखा की स्पष्ट [[तीक्ष्णता]] कैसे बनाई जाती है। बाइबिक प्रक्षेप ओवरशूट का कारण बनता है जिससे तीक्ष्णता बढ़ जाती है।]]<!--Don't scale the image, it will greatly reduce the effect-->
बाइक्यूबिक एल्गोरिद्म का उपयोग अक्सर प्रदर्शन के लिए छवियों और वीडियो को स्केल करने के लिए किया जाता है (देखें रीसैंपलिंग (बिटमैप))। यह सामान्य [[बिलिनियर फ़िल्टरिंग]] एल्गोरिथम की तुलना में बेहतर विवरण को बेहतर बनाए रखता है।
बाइक्यूबिक एल्गोरिद्म का उपयोग अधिकतर प्रदर्शन के लिए छवियों और वीडियो को स्केल करने के लिए किया जाता है (बिटमैप रीसैंपलिंग देखें )। यह सामान्य [[बिलिनियर फ़िल्टरिंग]] एल्गोरिथम की तुलना में उत्तम विवरण को उत्तम बनाए रखता है।


हालांकि, कर्नेल पर नकारात्मक लोब के कारण, यह [[ ओवरशूट (संकेत) ]] (हेलोइंग) का कारण बनता है। यह [[क्लिपिंग (सिग्नल प्रोसेसिंग)]] का कारण बन सकता है, और एक आर्टिफैक्ट है ([[बजती हुई कलाकृतियाँ]] भी देखें), लेकिन यह तीक्ष्णता (स्पष्ट तीक्ष्णता) को बढ़ाता है, और वांछनीय हो सकता है।
जबकि कर्नेल पर नकारात्मक लोब के कारण यह [[ ओवरशूट (संकेत) |ओवरशूट (संकेत)]] (हेलोइंग) का कारण बनता है। यह [[क्लिपिंग (सिग्नल प्रोसेसिंग)]] का कारण बन सकता है और एक आर्टिफैक्ट है ([[बजती हुई कलाकृतियाँ]] भी देखें) परन्तु यह तीक्ष्णता (स्पष्ट तीक्ष्णता) को बढ़ाता है और वांछनीय हो सकता है।


== यह भी देखें ==
== यह भी देखें ==

Revision as of 22:42, 16 March 2023

Comparison of बाइबिक प्रक्षेप with some 1- and 2-dimensional interpolations.
Black and red/yellow/green/blue dots correspond to the interpolated point and neighbouring samples, respectively.
Their heights above the ground correspond to their values.

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

छवि प्रसंस्करण में बाइक्यूबिक प्रक्षेप को अधिकतर रीसैंपलिंग (बिटमैप) में बिलिनियर या निकटतम-पड़ोसी प्रक्षेप पर चुना जाता है जब गति कोई समस्या नहीं होती है। बिलिनियर प्रक्षेप के विपरीत जो केवल 4 पिक्सेल (2×2) को ध्यान में रखता है, बाइक्यूबिक प्रक्षेप 16 पिक्सल (4×4) पर विचार करता है। बाइबिक प्रक्षेप के साथ रीसैंपल किए गए चित्रण में अलग-अलग प्रक्षेप स्थानिक विरोधी अलियासिंग हो सकते हैं जो चुने गए बी और सी मानों पर निर्भर करता है।

संगणना

वर्ग पर बाइबिक प्रक्षेप जिसमें 25 इकाई वर्ग एक साथ पैच किए गए हैं। माटप्लोटलिब के कार्यान्वयन के अनुसार बाइक्यूबिक प्रक्षेप। रंग, फ़ंक्शन मान को इंगित करता है। ब्लैक डॉट्स प्रक्षेपित किए जा रहे निर्धारित डेटा के स्थान हैं। ध्यान दें कि कैसे रंग के नमूने रेडियल सममित नहीं हैं।
उपरोक्त के समान डेटासेट पर बिलिनियर प्रक्षेप। सतह के डेरिवेटिव वर्ग सीमाओं पर निरंतर नहीं होते हैं।
उपरोक्त के समान डेटासेट पर निकटतम-पास के प्रक्षेप।

मान लीजिए फ़ंक्शन मान और डेरिवेटिव , और चार कोनों पर , , , और इकाई वर्ग का जाना जाता है। प्रक्षेपित सतह को तब लिखा जा सकता है:

प्रक्षेप समस्या में 16 गुणांक निर्धारित करना सम्मिलित है मिलान फ़ंक्शन मानों के साथ चार समीकरण प्राप्त होते हैं:

इसी तरह और डेरिवेटिव के लिए आठ समीकरण निर्देश:

और मिश्रित आंशिक व्युत्पन्न के लिए चार समीकरण :

ऊपर दिए गए भावों में निम्नलिखित सर्वसमिकाओं का उपयोग किया गया है:

यह प्रक्रिया इकाई वर्ग पर एक सतह उत्पन्न करती है जो निरंतर और निरंतर डेरिवेटिव है। मनमाने आकार के नियमित ग्रिड पर बाइबिक प्रक्षेप तब ऐसी बाइबिक सतहों को एक साथ पैच करके पूरा किया जा सकता है यह सुनिश्चित करते हुए कि डेरिवेटिव सीमाओं पर मेल खाते हैं।

अज्ञात मापदंडों को एक वेक्टर में समूहीकृत करना

और

समीकरणों की उपरोक्त प्रणाली को रैखिक समीकरण के लिए मैट्रिक्स में सुधारा जा सकता है।

आव्यूह का उल्टा करने से अधिक उपयोगी रेखीय समीकरण प्राप्त होता है जहाँ