Taqqoslash 
Ikki tomonlama interpolatsiya  ba'zi 1 va 2 o'lchovli interpolatsiyalar bilan. Qora va qizil / sariq / yashil / ko'k nuqta mos ravishda interpolyatsiya qilingan nuqtaga va qo'shni namunalarga mos keladi. Ularning erdan balandliklari ularning qadriyatlariga mos keladi.
Yilda matematika, ikki tomonlama interpolatsiya ning kengaytmasi kubikli interpolatsiya uchun interpolatsiya qilish a bo'yicha ma'lumotlar nuqtalari ikki o'lchovli muntazam panjara. Interpolatsiyalangan sirt silliqroq tomonidan olingan mos keladigan sirtlarga qaraganda bilinear interpolatsiya yoki eng yaqin qo'shni interpolatsiya. Ikki tomonlama interpolatsiyani ikkitasi yordamida amalga oshirish mumkin Lagranj polinomlari, kubik splinelar, yoki kub konversiyasi algoritm.
Yilda tasvirni qayta ishlash, ikki tomonlama interpolatsiya ko'pincha bilinear yoki yaqin qo'shni interpolatsiyadan tanlanadi tasvirni qayta namunalash, tezlik muammo emas. Bilinear interpolatsiyadan farqli o'laroq, bu faqat 4 ni oladi piksel (2 × 2) hisobga olinsa, bikubik interpolatsiya 16 piksel (4 × 4) ni ko'rib chiqadi. Ikki tomonlama interpolatsiya bilan qayta joylashtirilgan rasmlar yumshoqroq va kamroq interpolatsiyaga ega asarlar.
Hisoblash
  Maydonda ikki tomonlama interpolatsiya 
![{ displaystyle [0,4]  marta [0,4]}](https://wikimedia.org/api/rest_v1/media/math/render/svg/ad39d6c0224c138cc09eaa0ae42be5d8f3e2dd94)
 yamalgan 25 birlik maydonidan iborat. Ikki tomonlama interpolatsiya 
Matplotlibamalga oshirish. Rang funktsiya qiymatini bildiradi. Qora nuqta - belgilangan ma'lumotlarning interpolatsiya qilinadigan joylari. Rang namunalari qanday qilib radial nosimmetrik emasligiga e'tibor bering.
Deylik, funktsiya qiymatlari 
 va hosilalar 
, 
 va 
 to'rt burchakda ma'lum 
, 
, 
va 
 birlik kvadratining. Keyin interpolyatsiya qilingan sirtni quyidagicha yozish mumkin

Interpolatsiya muammosi 16 koeffitsientni aniqlashdan iborat 
.Matching 
 funktsiya qiymatlari bilan to'rtta tenglama hosil bo'ladi:




Xuddi shunday, ichida hosilalar uchun sakkizta tenglama 
 va 
 ko'rsatmalar:








Va uchun to'rtta tenglama 
 aralash qisman hosilasi:




Yuqoridagi iboralar quyidagi identifikatorlardan foydalangan:



Ushbu protsedura sirtni beradi 
 ustida birlik kvadrat 
 bu doimiy va doimiy hosilalari bor. O'zboshimchalik bilan o'lchamdagi bikubik interpolatsiya muntazam panjara shundan keyin derivativlarning chegaralarga to'g'ri kelishini ta'minlab, bunday bikubik sirtlarni bir-biriga yopishtirish orqali erishish mumkin.
Noma'lum parametrlarni guruhlash 
 vektorda
![alpha =  left [ begin {smallmatrix} a_ {00} & a_ {10} & a_ {20} & a_ {30} & a_ {01} & a_ {11} & a_ {21} & a_ {31} & a_ {02} & a_ {12 } va a_ {22} va a_ {32} va a_ {03} va a_ {13} va a_ {23} va a_ {33}  end {smallmatrix}  right] ^ T](https://wikimedia.org/api/rest_v1/media/math/render/svg/0fd6f651f3dadce77a2d783292b915d0dcdd847e)
va ruxsat berish
![{ displaystyle 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) }}  o'ng] ^ {T},}](https://wikimedia.org/api/rest_v1/media/math/render/svg/ef927b58762664c061d9a9159bad1c2f1776e55b)
yuqoridagi tenglamalar tizimini chiziqli tenglama matritsasi shaklida qayta tuzish mumkin 
.
Matritsani teskari yo'naltirish yanada foydali chiziqli tenglamani beradi 
, qayerda
![{ Displaystyle A ^ {- 1} =  tark [{{smallmatrix} boshlanadi  1 & 0 & 0 & 0 & 0 & 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  - 3 & 3 & 0 & 0 & -2 & -1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0  2 & -2 & 0 & 0 & 1 & 1 & 0 & 0 & 0 & 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 & 0 & 0 & 0 & 0 & 1 & 0 & 0 & 0  0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & -3 & 3 & 0 & 0 & -2 & - 1 & 0 & 0  0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 2 & -2 & 0 & 0 & 1 & 1 & 0 & 0  - 3 & 0 & 3 & 0 & 0 & 0 & 0 & 0 & -2 & 0 & -1 & 0 & 0 & 0 & 0 & 0  0 & 0 & 0 & 0 & -3 & 0 & 3 & 0 & 0 & 0 & 0 & 0 & -2 & 0 & -1 & 0  9 & -9 & -9 & 9 va 6 & 3 & -6 & -3 va 6 & -6 & 3 & -3 & 4 & 2 & 2 & 1  - 6 va 6 va 6 & -6 & -3 & -3 & 3 & 3 & -4 & 4 & -2 & 2 & -2 & -2 & -1 & -1  2 & 0 & -2 & 0 & 0 & 0 & 0 & 0 & 1 & 0 & 1 & 0 & 0 & 0 & 0 & 0 & 0  0 & 0 & 0 & 0 & 2 & 0 & -2 & 0 & 0 & 0 & 0 & 0 & 1 & 0 & 1 & 0  - 6 & 6 & 6 & -6 & 4 & 2 & 4 & 4 & 4 & 4 & 4 & 4 & -4 & & & &; 2 & -2 & 2 & -2 & 2 & -2 & 1 & 1 & 1 & 1  end {smallmatrix}}  right],}](https://wikimedia.org/api/rest_v1/media/math/render/svg/279914c7c5b02f1c582f49b33f3054c40910c36e)
bu imkon beradi 
 tez va osonlik bilan hisoblash uchun.
16 koeffitsient uchun yana bir ixcham matritsa shakli bo'lishi mumkin:

yoki

qayerda

To'g'ridan-to'g'ri chiziqlarga kengaytma
Ko'pincha, dasturlar birlik kvadratidan emas, balki to'g'ri chiziqli tarmoqdagi ma'lumotlardan foydalanib, bikubik interpolatsiyani talab qiladi. Bunday holda, uchun identifikatorlar 
 va 
 bo'lish



qayerda 
 bo'ladi 
 nuqtani o'z ichiga olgan katakning oralig'i 
 va shunga o'xshash 
.Bunday holda, koeffitsientlarni hisoblash uchun eng amaliy yondashuv 
 ruxsat berishdir
![{ displaystyle x =  left [{ begin {smallmatrix} f (0,0) & f (1,0) & f (0,1) & f (1,1) &  Delta xf_ {x} (0,0)) &  Delta xf_ {x} (1,0) &  Delta xf_ {x} (0,1) &  Delta xf_ {x} (1,1) &  Delta yf_ {y} (0,0) &  Delta yf_ {y} (1,0) &  Delta yf_ {y} (0,1) &  Delta yf_ {y} (1,1) &  Delta x  Delta yf_ {xy} (0,0) &  Delta x  Delta yf_ {xy} (1,0) &  Delta x  Delta yf_ {xy} (0,1) &  Delta x  Delta yf_ {xy} (1,1)  end {smallmatrix}}  o'ng] ^ {T},}](https://wikimedia.org/api/rest_v1/media/math/render/svg/16cf673b5dac2b4e6a784256efe13c774ee6b2fd)
keyin hal qilish uchun 
 bilan 
 oldingi kabi. Keyinchalik, normallashtirilgan interpolatsiya qiluvchi o'zgaruvchilar quyidagicha hisoblanadi
,
qayerda 
 va 
 ular 
 va 
 nuqtani o'rab turgan panjara nuqtalarining koordinatalari 
. Keyin, interpolatsiya qiluvchi sirt bo'ladi

Funktsiya qiymatlaridan hosilalarni topish
Agar hosilalar noma'lum bo'lsa, ular odatda birlik kvadratining burchaklariga qo'shni nuqtalardagi funktsiya qiymatlaridan taxmin qilinadi, masalan. foydalanish cheklangan farqlar.
Bitta lotinni topish uchun, 
 yoki 
, shu usul yordamida ikkalasi orasidagi qiyalikni toping atrof tegishli o'qda joylashgan. Masalan, hisoblash uchun 
 nuqtalardan biri uchun toping 
 maqsad nuqtaning chap va o'ng tomonidagi nuqtalar uchun va ularning qiyaligini hisoblang va shunga o'xshash tarzda 
.
Xoch hosilasini topish uchun 
, lotinni ikkala o'qda birma-bir oling. Masalan, avval 
 ni topish tartibi 
 maqsad nuqtadan yuqorida va pastda hosilalar, keyin foydalaning 
 bu qiymatlar bo'yicha protsedura (odatdagidek, ning qiymatlari o'rniga 
 o'sha punktlar uchun) ning qiymatini olish 
 maqsadli nuqta uchun. (Yoki buni teskari yo'nalishda qilish mumkin, birinchi navbatda hisoblash 
 undan keyin 
 ulardan. Ikkalasi teng natijalarni beradi.)
Ma'lumotlar to'plamining chekkalarida, atrofdagi ba'zi bir nuqsonlar etishmayotgan bo'lsa, etishmayotgan nuqtalarni bir qator usullar bilan taxmin qilish mumkin. Oddiy va keng tarqalgan usul bu mavjud nuqtadan nishon nuqtagacha bo'lgan nishab qo'shimcha o'zgarishsiz davom etadi deb taxmin qilish va shu bilan yo'qolgan nuqta uchun faraziy qiymatni hisoblash.
Ikki tomonlama konvulsiya algoritmi
Ikki tomonlama spline interpolatsiyasi har bir katak hujayrasi uchun yuqorida tavsiflangan chiziqli tizimning echimini talab qiladi. Shunga o'xshash xususiyatlarga ega bo'lgan interpolatorni qo'llash orqali olish mumkin konversiya ikkala o'lchamdagi quyidagi yadro bilan:

qayerda 
 odatda -0.5 yoki -0.75 ga o'rnatiladi. Yozib oling 
 va 
 nolga teng bo'lmagan butun sonlar uchun 
.
Ushbu yondashuv buni ko'rsatgan Keys tomonidan taklif qilingan 
 dastlabki funktsiyani tanlash oralig'iga nisbatan uchinchi darajali yaqinlashuvni hosil qiladi.[1]
Agar umumiy holat uchun matritsa yozuvidan foydalansak 
, biz tenglamani yanada do'stona tarzda ifodalashimiz mumkin:

uchun 
 bitta o'lchov uchun 0 dan 1 gacha. Shuni esda tutingki, 1 o'lchovli kub konvolyutsiyasi interpolatsiyasi uchun 4 ta namuna nuqtasi talab qilinadi. Har bir so'rov uchun uning chap tomonida ikkita, o'ng tomonida ikkita namunasi joylashgan. Ushbu fikrlar ushbu matnda -1 dan 2 gacha indekslangan. 0 bilan indekslangan nuqtadan so'rov punktigacha bo'lgan masofa bilan belgilanadi 
 Bu yerga.
Avvaliga bir marta qo'llaniladigan ikkita o'lchov uchun 
 va yana 
:





Kompyuter grafikalarida foydalaning
  Ushbu raqamning pastki yarmi yuqori chiziqning kattalashtirilishi bo'lib, chap chiziqning aniq aniqligi qanday yaratilganligini ko'rsatadi. Ikki tomonlama interpolatsiya oshib ketishni keltirib chiqaradi, bu esa ko'payadi 
keskinlik.
Bikubik algoritm tez-tez tasvir va videoni ko'rsatish uchun masshtablash uchun ishlatiladi (qarang bitmapni qayta o'rnashtirish). U oddiy tafsilotlarni odatdagidan yaxshiroq saqlaydi bilinear algoritm.
Biroq, yadrodagi salbiy loblar tufayli, bu sabab bo'ladi overshoot (haloing). Bu sabab bo'lishi mumkin qirqish, va bu artefakt (shuningdek qarang.) qo'ng'iroq qilayotgan buyumlar), lekin u ko'payadi keskinlik (aniq ravshanlik) va kerakli bo'lishi mumkin.
Shuningdek qarang
Adabiyotlar
Tashqi havolalar