当前位置:   article > 正文

数字图像处理学习——(一)双线性差值算法

双线性差值

一、线性差值

直接看图
在这里插入图片描述
若已知图中两点A(x0,y0),B(x1,y1),和该直线上任意一点P的横坐标x,求P该直线上的一点的纵坐标。
很容易可以得到,根据直线的定理。 ( y − y 0 ) / ( x − x 0 ) = ( y 1 − y 0 ) / ( x 1 − x 0 ) (y-y0)/(x-x0)=(y1-y0)/(x1-x0) (yy0)/(xx0)=(y1y0)/(x1x0);
得: y = ( x 1 − x ) / ( x 1 − x 0 ) y 0 + ( x − x 0 ) / ( x 1 − x 0 ) y 1 y=(x1-x)/(x1-x0)y0+(x-x0)/(x1-x0)y1 y=(x1x)/(x1x0)y0+(xx0)/(x1x0)y1;
x1,x0,y1,y0为定值,可将上式变换为:
y ( x 1 − x 0 ) = ( x 1 − x ) y 0 + ( x − x 0 ) y 1 y(x1-x0)=(x1-x)y0+(x-x0)y1 y(x1x0)=(x1x)y0+(xx0)y1
可以看出P点的值受A,B两点影响,离的越近,影响越大。在公式中表现为离得越近乘的权值越大。

二、双线性差值

理解了线性差值,双线性差值就很容易理解了。
双线性差值可以视作线性差值的升维,也就是说在两个方向分别作线性差值。
以上图为例
在这里插入图片描述
P的值可视作P1与P2的线性差值,而P1又可视作A,B的线性差值,P2可视作C,D的线性差值。
P 1 ( x 1 − x 0 ) = A ( x 1 − x ) + B ( x − x 0 ) P1(x1-x0)=A(x1-x)+B(x-x0) P1(x1x0)=A(x1x)+B(xx0);
P 2 ( x 1 − x 0 ) = C ( x 1 − x ) + D ( x − x 0 ) P2(x1-x0)=C(x1-x)+D(x-x0) P2(x1x0)=C(x1x)+D(xx0);
若设 a = ( x − x 0 ) / ( x 1 − x 0 ) a=(x-x0)/(x1-x0) a=(xx0)/(x1x0);
b = ( y − y 0 ) / ( y 1 − y 0 ) b=(y-y0)/(y1-y0) b=(yy0)/(y1y0);
则上式可变为:
P 1 = A ( 1 − a ) + B ∗ a P1=A(1-a)+B*a P1=A(1a)+Ba;
P 2 = C ( 1 − a ) + D ∗ a P2=C(1-a)+D*a P2=C(1a)+Da;

P可视作P1与P2的线性差值
则: P = P 1 ( 1 − b ) + P 2 ∗ b P=P1(1-b)+P2*b P=P1(1b)+P2b
将P1,P2带入可得
P = A ( 1 − a ) ( 1 − b ) + B ∗ a ( 1 − b ) + C ( 1 − a ) b + D ∗ a ∗ b P=A(1-a)(1-b)+B*a(1-b)+C(1-a)b+D*a*b P=A(1a)(1b)+Ba(1b)+C(1a)b+Dab
同样符合距离越近权重越大的原则

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/很楠不爱3/article/detail/545265
推荐阅读
  

闽ICP备14008679号