图像缩放的双线性插值算法
双线性插值
假设原图像大小为mn,目标图像大小为ab,
两幅图像的边长比为m/a n/b,目标图像的第(i,j)个像素点可以通过边长对应回原图像的对应坐标为(im/a,jn/b);
一般来说边长比值不是整数,
双线性插值通过寻找距离对应坐标最近的像素点,来计算该点的值(灰度值或RGB值)。
比如对应坐标为(2.5,4.5),那么原图像中最近的四个像素是(2,4)、(2,5)、(3,4),(3,5)、
两个图像中心重合,找对应坐标可以用((i+0.5)*m/a-0.5,(j+0.5)*n/b-0.5)代替;
如果是灰度图像,目标图像中(i,j)点的灰度值通过以下公式计算;
f(i,j) = w1*p1+w2*p2+w3*p3+w4*p4;//pi(i=1,2,3,4)是最近的四个像素点额度灰度值,wi(i=1,2,3,4)是各点对应的权值;
参考链接:https://wenku.baidu.com/view/7be17019ce84b9d528ea81c758f5f61fb636281d.html