什麼是線性插值原理 什麼是雙線性插值?
線性插值原理:簡單比方
原來的數值序列:0,10,20,30,40
線性插值一次為:0,5,10,15,20,25,30,35,40
即認為其變化(增減)是線形的,可以在坐標圖上畫出一條直線
在數位相機技術中,這些數值可以代表組成一張照片的不同像素點的色彩、色度等指標。
為了方便理解,先考慮一維情況下的線性插值
對於一個數列c,我們假設c[a]到c[a+1]之間是線性變化的
那么對於浮點數x(a<=x<a+1),c(x)=c[a+1]*(x-a)+c[a]*(1+a-x);
這個好理解吧?
把這種插值方式擴展到二維情況
對於一個二維數組c,我們假設對於任意一個浮點數i,c(a,i)到c(a+1,i)之間是線性變化的,c(i,b)到c(i,b+1)之間也是線性變化的(a,b都是整數)
那么對於浮點數的坐標(x,y)滿足(a<=x<a+1,b<=y<b+1),我們可以先分別求出c(x,b)和c(x,b+1):
c(x,b) = c[a+1]*(x-a)+c[a]*(1+a-x);
c(x,b+1) = c[a+1][b+1]*(x-a)+c[a][b+1]*(1+a-x);
好,現在已經知道c(x,b)和c(x,b+1)了,而根據假設c(x,b)到c(x,b+1)也是線性變化的,所以:
c(x,y) = c(x,b+1)*(y-b)+c(x,b)*(1+b-y)
這就是雙線性插值,