双线性插值

双线性插值

首先要知道什么是线性插值:给出两点A(x1,f(x1)),B(x2,f(x2)),在AB之间插入一点C,知道C的横坐标为x,求f(x)。

根据两点之间的直线公式可得:
f ( x ) − f ( x 1 ) f ( x 2 ) − f ( x 1 ) = x − x 1 x 2 − x 1 ( 1 ) \frac{f(x)-f(x_{1})}{f(x_{2})-f(x_{1})}=\frac{x-x_{1}}{x_{2}-x_{1}} (1) f(x2)f(x1)f(x)f(x1)=x2x1xx1(1)

移项可得:
f ( x ) = x 2 − x x 2 − x 1 f ( x 1 ) + x − x 1 x 2 − x 1 f ( x 2 ) ( 2 ) f\left(x\right) = \frac{x_{2}-x}{x_{2}-x_{1}} f\left(x_{1}\right)+\frac{x-x_{1}}{x_{2}-x_{1}} f\left(x_{2}\right) \quad(2) f(x)=x2x1x2xf(x1)+x2x1xx1f(x2)(2)

双线性插值,又称双线性内插。在数学上,双线性插值是由两个变量的插值函数的线性插值扩展,其核心思想是在两个方向分别进行一次线性插值。

在这里插入图片描述

如在Q11=(x1,y1),Q21=(x2,y1),Q22=(x2,y2),Q12=(x1,y2)组成的矩形内部插入点P=(x,y),已知4个点的像素值,求P点的像素值。

1.先求R1,R2的像素值。

2.根据R1,R2的像素值求得P的像素值。

因为Q11,Q21,R1的纵坐标相同,求取R1的像素值可以看做求f(R1),已知两点(x1,f(Q11)),(x2,f(Q21)),其中f(.)表示某点的像素值函数。同理可求得R2的像素值。

代入公式2可得
f ( R 1 ) ≈ x 2 − x x 2 − x 1 f ( Q 11 ) + x − x 1 x 2 − x 1 f ( Q 21 )  Where  R 1 = ( x , y 1 ) f\left(R_{1}\right) \approx \frac{x_{2}-x}{x_{2}-x_{1}} f\left(Q_{11}\right)+\frac{x-x_{1}}{x_{2}-x_{1}} f\left(Q_{21}\right) \quad \text { Where } \quad R_{1}=\left(x, y_{1}\right) f(R1)x2x1x2xf(Q11)+x2x1xx1f(Q21) Where R1=(x,y1)

f ( R 2 ) ≈ x 2 − x x 2 − x 1 f ( Q 12 ) + x − x 1 x 2 − x 1 f ( Q 22 )  Where  R 2 = ( x , y 2 ) f\left(R_{2}\right) \approx \frac{x_{2}-x}{x_{2}-x_{1}} f\left(Q_{12}\right)+\frac{x-x_{1}}{x_{2}-x_{1}} f\left(Q_{22}\right) \quad \text { Where } \quad R_{2}=\left(x, y_{2}\right) f(R2)x2x1x2xf(Q12)+x2x1xx1f(Q22) Where R2=(x,y2)

因为R1,R2横坐标相同,求取P的像素值可以看做求f§,已知两点(y1,f(R1)),(y2,f(R2))

代入公式2可得
f ( P ) ≈ y 2 − y y 2 − y 1 f ( R 1 ) + y − y 1 y 2 − y 1 f ( R 2 ) f(P) \approx \frac{y_{2}-y}{y_{2}-y_{1}} f\left(R_{1}\right)+\frac{y-y_{1}}{y_{2}-y_{1}} f\left(R_{2}\right) f(P)y2y1y2yf(R1)+y2y1yy1f(R2)
因此就求得P点的像素值:
f ( x , y ) ≈ f ( Q 11 ) ( x 2 − x 1 ) ( y 2 − y 1 ) ( x 2 − x ) ( y 2 − y ) + f ( Q 21 ) ( x 2 − x 1 ) ( y 2 − y 1 ) ( x − x 1 ) ( y 2 − y ) + f ( Q 12 ) ( x 2 − x 1 ) ( y 2 − y 1 ) ( x 2 − x ) ( y − y 1 ) + f ( Q 22 ) ( x 2 − x 1 ) ( y 2 − y 1 ) ( x − x 1 ) ( y − y 1 ) . \begin{array}{l} f(x, y) \approx \frac{f\left(Q_{11}\right)}{\left(x_{2}-x_{1}\right)\left(y_{2}-y_{1}\right)}\left(x_{2}-x\right)\left(y_{2}-y\right)+\frac{f\left(Q_{21}\right)}{\left(x_{2}-x_{1}\right)\left(y_{2}-y_{1}\right)}\left(x-x_{1}\right)\left(y_{2}-y\right) \\ +\frac{f\left(Q_{12}\right)}{\left(x_{2}-x_{1}\right)\left(y_{2}-y_{1}\right)}\left(x_{2}-x\right)\left(y-y_{1}\right)+\frac{f\left(Q_{22}\right)}{\left(x_{2}-x_{1}\right)\left(y_{2}-y_{1}\right)}\left(x-x_{1}\right)\left(y-y_{1}\right) . \end{array} f(x,y)(x2x1)(y2y1)f(Q11)(x2x)(y2y)+(x2x1)(y2y1)f(Q21)(xx1)(y2y)+(x2x1)(y2y1)f(Q12)(x2x)(yy1)+(x2x1)(y2y1)f(Q22)(xx1)(yy1).
通常对于相邻点来说x2 - x1 = 1, y2 - y1 = 1。

因此上式可以化简为:
f ( x , y ) ≈ f ( Q 11 ) ( x 2 − x ) ( y 2 − y ) + f ( Q 21 ) ( x − x 1 ) ( y 2 − y ) + f ( Q 12 ) ( x 2 − x ) ( y − y 1 ) + f ( Q 22 ) ( x − x 1 ) ( y − y 1 ) \begin{array}{l} f(x, y) \approx {f\left(Q_{11}\right)}\left(x_{2}-x\right)\left(y_{2}-y\right)+{f\left(Q_{21}\right)}\left(x-x_{1}\right)\left(y_{2}-y\right) \\ +{f\left(Q_{12}\right)}\left(x_{2}-x\right)\left(y-y_{1}\right)+{f\left(Q_{22}\right)}\left(x-x_{1}\right)\left(y-y_{1}\right) \end{array} f(x,y)f(Q11)(x2x)(y2y)+f(Q21)(xx1)(y2y)+f(Q12)(x2x)(yy1)+f(Q22)(xx1)(yy1)

参考

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值
>