双线性插值(bilinear)
本文将未做插值的原始图像称作源图像,源图像插值缩放K倍后的图像称作目标图像。
以下标识符的意义: 
- 算法
双线性插值的主要思想是目标点归一化后在四周取4个最近邻点,并根据权重对其做线性函数计算,从而得到目标像素点的值。将目标像素点(dstX,dstY)归一化后得(dstX/K,dstY/K),其左上方最近邻源像素点A点坐标为:
srcX=floor(dstX/K); srcY=floor(dstY/K)
u=dstY/K-srcY; v=dstX/K-srcX

根据距离越近,权重越大的原则,A,B,C,D四点的加权系数应为
a=(1-u)*(1-v) b=u*(1-v) c=(1-u)*v d=u*v
四个加权系数之和为1,目标元素点dst(dstX,dstY)值为:
a*src(srcX,srcY)+b*src(srcX+1,srcY)+c*src(srcX,srcY+1)+d*src(srcX+1,srcY+1)

最低0.47元/天 解锁文章





