双线性插值

 Max.C     2020-03-03   1013 words    & views

一、单线性插值

插值是一种数值估计方式,根据已知的数据序列(坐标中一系列离散的点),找到其中的规律,然后根据找到的这个规律,来对其中尚未有数据记录的点进行数值估计

如图所示,$(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$

经过整理:

\[P = (y-y_1)((x-x_1)Q_{22} - (x-x_2)Q_{12}) - (y-y_2)((x-x_1)Q_{21} - (x-x_2)Q_{11}) \\= (y-y_1)(x-x_1)Q_{22} - (y-y_1)(x-x_2)Q_{12} - (y-y_2)(x-x_1)Q_{21} + (y-y_1)(x-x_2)Q_{11}\]


这就是双线性插值的表达式。