本文摘要(由AI生成):
本文介绍了线性插值和双线性插值的概念。线性插值是在两点之间插入一点,使其值落在两点值的连线上。而双线性插值则是在两个方向上进行线性插值,常用于二维空间中的插值计算。文章通过举例说明了双线性插值的过程,并给出了基于拉格朗日插值的计算公式。最后指出,双线性插值的结果与插值的顺序无关,无论是先进行哪个方向的插值,结果都是一致的。
线性插值的概念简单粗暴,就是两个点A,B,要在AB中间插入一个点C(点C坐标在AB连线上),就直接让C的值落在AB的值的连线上就可以了。如A点坐标(0,0),值为3,B点坐标(0,2),值为5,那要对坐标为(0,1)的点C进行插值,就让C落在AB线上,值为4就可以了。
但是如果C不在AB的线上肿么办捏,所以就有了双线性插值。双线性插值,顾名思义就是两个方向的线性插值加起来(这解释同样简单粗暴)。所以只要了解什么是线性插值,分别在x轴和y轴都做一遍,就是双线性插值了。
如图,已知P12,P22,P11,P21,但是要插值的点为P点,这就要用双线性插值了,首先在x轴方向上,对R1和R2两个点进行插值,这个很简单,然后根据R1和R2对P点进行线性插值,这就是所谓的双线性插值。
根据水平方向上的双线性二次插值,由f(i,j)和f(i+1,j)求取f(x,j),由
f(i,j+1)和f(i+1,j+1)求f(x,j+1),然后再根据这两点的二次插值求f(x,y)。
根据拉格朗日插值,我们可以很容易的求取各点插值如下:
f(x,j)=(i+1-x)f(i,j)+(x-i)f(i+1,j)
f(x,j+1)=(i+1-x)f(i,j+1)+(x-i)f(i+1,j+1)
f(x,y)=(i+1-y)f(x,j)+(y-j)f(x,j+1)
以上三式综合可以得到:
f(x,y)=(j+1-y)(i+1-x)f(i,j)+(j+1-y)(x-i)f(i+1,j)+(y-j)(i+1-x)f(i,j+1)+(y-j)(x-i)f(i+1,j+1)
令x=i+p,y=j+q得:
f(i+p,j+q)=(1-q)(1-p)f(i,j)+p(1-q)f(i+1,j)+q(1-p)f(i,j+1)+
pqf(i+1,j+1)
双线性插值的结果与插值的顺序无关。无论是先进行 y 方向的插值,然后进行 x 方向的插值,还是先进行 x 方向的插值,然后进行 y 方向的插值,所得到的结果是一样的。