双线性插值(Bilinear Interpolation)

双线性插值(Bilinear Interpolation)双线性插值 BilinearInte 双线性差值

大家好,欢迎来到IT知识分享网。

一.双线性插值

假设源图像大小为mxn,目标图像为axb。那么两幅图像的边长比分别为:m/a和n/b。注意,通常这个比例不是整数,编程存储的时候要用浮点型。目标图像的第(i,j)个像素点(i行j列)可以通过边长比对应回源图像。其对应坐标为(im/a,jn/b)。显然,这个对应坐标一般来说不是整数,而非整数的坐标是无法在图像这种离散数据上使用的。双线性插值通过寻找距离这个对应坐标最近的四个像素点,来计算该点的值(灰度值或者RGB值)。如果你的对应坐标是(2.5,4.5),那么最近的四个像素是(2,4)、(2,5)、(3,4),(3,5)。

  1. 单线性插值
    已知中P1点和P2点,坐标分别为(x1, y1)、(x2, y2),要计算 [x1, x2] 区间内某一位置 x 在直线上的y值

    在这里插入图片描述

    根据初中的知识,2点求一条直线公式(这是双线性插值所需要的唯一的基础公式:

y − y 1 x − x 1 = y 2 − y 1 x 2 − x 1 \frac{y-y_{1}}{x-x_{1}}=\frac{y_{2}-y_{1}}{x_{2}-x_{1}} xx1yy1=x2x1y2y1

经过简单整理成下面的格式:

y = x 2 − x x 2 − x 1 y 1 + x − x 1 x 2 − x 1 y 2 y=\frac{x_{2}-x}{x_{2}-x_{1}} y_{1}+\frac{x-x_{1}}{x_{2}-x_{1}} y_{2} y=x2x1x2xy1+x2x1xx1y2

这里没有写成经典的AX+B的形式,因为这种形式从权重的角度更好理解。

首先看分子,分子可以看成x与x1和x2的距离作为权重,这也是很好理解的,P点与P1、P2点符合线性变化关系,所以P离P1近就更接近P1,反之则更接近P2。

f ( P ) = x 2 − x x 2 − x 1 f ( P 1 ) + x − x 1 x 2 − x 1 f ( P 2 ) f(P)=\frac{x_{2}-x}{x_{2}-x_{1}} f\left(P_{1}\right)+\frac{x-x_{1}}{x_{2}-x_{1}} f\left(P_{2}\right) f(P)=x2x1x2xf(P1)+x2x1xx1f(P2)
2. 双线性插值

已知Q11(x1,y1)、Q12(x1,y2)、Q21(x2,y1)、Q22(x2,y2),求其中点P(x,y)的值。

在这里插入图片描述

前面介绍过双线性插值是分别在两个方向计算了共3次单线性插值,如图所示,先在x方向求2次单线性插值,获得R1(x, y1)、R2(x, y2)两个临时点,再在y方向计算1次单线性插值得出P(x, y)(实际上调换2次轴的方向先y后x也是一样的结果)。

  1. x方向单线性插值 直接带入前一步单线性插值最后的公式

    f ( R 1 ) = x 2 − x x 2 − x 1 f ( Q 11 ) + x − x 1 x 2 − x 1 f ( Q 21 ) f ( R 2 ) = x 2 − x x 2 − x 1 f ( Q 12 ) + x − x 1 x 2 − x 1 f ( Q 22 ) f\left(R_{1}\right)=\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) \\ f\left(R_{2}\right)=\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) f(R1)=x2x1x2xf(Q11)+x2x1xx1f(Q21)f(R2)=x2x1x2xf(Q12)+x2x1xx1f(Q22)

  2. y方向单线性插值

f ( P ) = y 2 − y y 2 − y 1 f ( R 1 ) + y − y 1 y 2 − y 1 f ( R 2 ) f(P)=\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)

将第一步结果带入第二步

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(x, y)=\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) f(x,y)=(x2x1)(y2y1)f(Q11)(x2x)(y2y)+(x2x1)(y2y1)f(Q21)(xx1)(y2y)+(x2x1)(y2y1)f(Q12)(x2x)(yy1)

回顾一下上面双线性插值对应关系的图,不难发现,在计算中有这样的关系:

x 2 = x 1 + 1 ; y 2 = y 1 + 1 x_{2}=x_{1}+1 ; y_{2}=y_{1}+1 x2=x1+1;y2=y1+1

那么上面的公式中的分母全都为0,如下:

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 ) f(x, y)=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) f(x,y)=f(Q11)(x2x)(y2y)+f(Q21)(xx1)(y2y)+f(Q12)(x2x)(yy1)+f(Q22)(xx1)(yy1)

在有些资料中,会写成权重的形式,上面的展开式是下面的权重表达式的正确求法

f ( x , y ) = f ( Q 11 ) w 11 + f ( Q 21 ) w 21 + f ( Q 12 ) w 12 + f ( Q 22 ) w 22 f(x, y)=f\left(Q_{11}\right) w_{11}+f\left(Q_{21}\right) w_{21}+f\left(Q_{12}\right) w_{12}+f\left(Q_{22}\right) w_{22} f(x,y)=f(Q11)w11+f(Q21)w21+f(Q12)w12+f(Q22)w22

这种权重的表达式也不难理解,观察一下可以发现每个点的权重都和待求点和对角点的距离有关,比如

3.双线性插值的优化

原始公式:

src ⁡ − x = des ⁡ − x ∗ src ⁡ − w / des ⁡ − w   \operatorname{src}{-}x=\operatorname{des}{-}x * \operatorname{src}{-}w / \operatorname{des}{-}w\ srcx=desxsrcw/desw 

src ⁡ − y = des ⁡ − y ∗ src ⁡ − h / des ⁡ − h \operatorname{src}{-}y=\operatorname{des}{-}y * \operatorname{src}{-}h / \operatorname{des}{-}h srcy=desysrch/desh

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/116146.html

(0)
上一篇 2024-11-18 10:15
下一篇 2024-11-18 10:26

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信