【图像处理】双线性插值


基本原理

双线性插值能够缩小图片放大时所产生的锯齿,主要原理是对所求像素点临近的四个点像素值进行加权叠加,权值可通过与对应点的距离得出。

如下图所示,D为所求的点的位置,坐标为(X’,Y’),已知相邻四个点的像素值S(X,Y),S(X,Y+1), S(X+1,Y+1),S(X+1,Y)及对应距离dx,dy,求对应点D(X’,Y’)。

Q(X1’,Y’)= S(X,Y) * (1-dy) + S(X,Y+1) * dy
Q(X2’,Y’)= S(X+1,Y) * (1-dy) + S(X+1,Y+1) * dy
D(X’,Y’)= (1-dx) * Q(X1’,Y’) + dx * Q(X2’,Y’)
即
D(X’,Y’)= S(X,Y)*(1-dy)*(1-dx)+S(X,Y+1)*dy*(1-dx)+S(X+1,Y)*(1-dy)*dx +S(X+1,Y+1)*dy*dx



代码实现

double dx,dy;
double xDst;
double yDst;

x1 = (int)xDst;
x2 = x1+1;
y1 = (int)yDst;
y2 = y1+1;
dx = xDst -x1;
dy = yDst -y1;
*pDataRoi++=((int)(*(region1+x1+y1*wr)*(1-dx)*(1-dy))+(int)(*(region1+x1+y2*wr)*(1-dx)*dy)
+(int)(*(region1+x2+y1*wr)*dx*(1-dy))+(int)(*(region1+x2+y2*wr)*dx*dy));


  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值