雙線性插值
雙線性插值
雙線性插值,又稱為雙線性內插。在數學上,雙線性插值是有兩個變數的插值函數的線性插值擴展,其核心思想是在兩個方向分別進行一次線性插值。
雙線性插值作為數值分析中的一種插值演演算法,廣泛應用在信號處理,數字圖像和視頻處理等方面。
已知的紅色數據點與待插值得到的綠色點
假如我們想得到未知函數f在點P=(x,y)的值,假設我們已知函數f在Q11=(x1,y1)、Q12=(x1,y2),Q21=(x2,y1)以及Q22=(x2,y2)四個點的值。
首先在x方向進行線性插值,得到R1和R2,然後在y方向進行線性插值,得到P.
這樣就得到所要的結果f(x,y).
其中紅色點Q11,Q12,Q21,Q22為已知的4個像素點.
![雙線性插值](https://i1.twwiki.net/cover/w200/m8/b/m8baff4cc8208492b1534c9053bdd9dd9.jpg)
雙線性插值
第二步:Y方向的線性插值,通過第一步計算出的R1與R2在y方向上插值計算出P點。
![x方向上](https://i1.twwiki.net/cover/w200/m7/5/m757433c6c96271dbfdc4e9374ca7b7d1.jpg)
x方向上
![雙線性插值](https://i1.twwiki.net/cover/w200/me/a/mea5832e3880232ea162458b1a6f9ad4c.jpg)
雙線性插值
線性插值的結果與插值的順序無關。首先進行y方向的插值,然後進行x方向的插值,所得到的結果是一樣的。雙線性插值的結果與先進行哪個方向的插值無關。
如果選擇一個坐標系統使得的四個已知點坐標分別為(0,0)、(0,1)、(1,0)和(1,1),那麼插值公式就可以化簡為
f(x,y)=f(0,0)(1-x)(1-y)+f(1,0)x(1-y)+f(0,1)(1-x)y+f(1,1)xy
在x與y方向上,z值成單調性特性的應用中,此種方法可以做外插運算,即可以求解Q1~Q4所構成的正方形以外的點的值。
雙線性插值的一個顯然的三維空間延伸是三線性插值。
三線性插值的方法可參看matlab中的interp3
當對相鄰四個像素點採用雙線性插值時,所得表面在鄰域處是吻合的,但斜率不吻合。並且雙線性灰度插值的平滑作用可能使得圖像的細節產生退化,這種現象在進行圖像放大時尤其明顯。
![雙線性插值](https://i1.twwiki.net/cover/w200/m8/e/m8e6898cdce6d3468e55462b30023bb67.jpg)
雙線性插值