一、单线性插值
插值是一种数值估计方式,根据已知的数据序列(坐标中一系列离散的点),找到其中的规律,然后根据找到的这个规律,来对其中尚未有数据记录的点进行数值估计。
如图所示,$(x_0,y_0)(x_1,y_1)$是已知的点,求插值点x处的y:
由:
$\frac{y-y_0}{x-x_0}=\frac{y_1-y_0}{x_1-x_0}$
得:
$y = \frac{x-x_0}{x_1-x_0}y_1 - \frac{x-x_1}{x_1-x_0}y_0$
二、双线性插值
双线性插值常用于图像处理,在图像处理中,有源图像(srcImage)和目标图像(dtsImage),目标图像中各像素的灰度值/RGB值是由源图像决定的。
例如,根据计算,目标图像的$(u,v)$位置的值等于源图像的$(x,y)$的值,但x、y可能并不是整数,这就需要通过插值得到$(x,y)$的值。
如图,$(x_1,y_1)(x_1,y_2)(x_2,y_1)(x_2,y_2)$是源图像上的点,$x_2 = x_1 + 1,y_2 = y_1 + 1$,$P(x,y)$为目标图像对应的点,为我们所求。
双线性插值推导过程如下:先通过x方向的插值,得到$R_1,R_2$;
$R_1 = \frac{x-x_1}{x_2-x_1}Q_{21} - \frac{x-x_2}{x_2-x_1}Q_{11}= (x-x_1)Q_{21} - (x-x_2)Q_{11}$
$R_2 = \frac{x-x_1}{x_2-x_1}Q_{22} - \frac{x-x_2}{x_2-x_1}Q_{12} = (x-x_1)Q_{22} - (x-x_2)Q_{12} $
再通过y方向的插值,得到P。
$P = \frac{y-y_1}{y_2-y_1}R_{2} - \frac{y-y_2}{y_2-y_1}R_{1} = (y-y_1)R_2 - (y-y_2)R_1$
经过整理:
这就是双线性插值的表达式。