雙線性插值(Bilinear Interpolation)


最近用到插值算法,使用三次樣條插值仿真速度太慢,於是采用算法簡單的線性插值。本篇主要介紹一下雙線性插值的實現方法。

1. 線性插值

已知坐標 (x0y0) 與 (x1y1),要得到 [x0x1] 區間內某一位置 x 在直線上的值。

由於 x 值已知,所以可以從公式得到 y 的值

已知 y 求 x 的過程與以上過程相同,只是 x 與 y 要進行交換。

 

2. 雙線性插值(Bilinear Interpolation)

在數學上,雙線性插值是有兩個變量的插值函數的線性插值擴展,其核心思想是在兩個方向分別進行一次線性插值。

圖中:紅色的數據點與待插值得到的綠色點

假如我們想得到未知函數 f 在點 P = (xy) 的值,假設我們已知函數 f 在 Q11 = (x1y1)、Q12 = (x1y2), Q21 = (x2y1) 以及 Q22 = (x2y2) 四個點的值。

首先在 x 方向進行線性插值,得到

然后在 y 方向進行線性插值,得到

這樣就得到所要的結果 f(xy),

雙線性插值在三維空間的延伸是三線性插值。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM