1、最近邻插值法(Nearest Neighbour Interpolation)
这是最简单的一种插值方法,不需要计算,在待求像素的四邻象素中,将距离待求像素最近的邻像素灰度赋给待求像素。设i+u, j+v(i, j为正整数, u, v为大于零小于1的小数,下同)为待求像素坐标,则待求像素灰度的值 f(i+u, j+v) 如下图所示:
2、双线性插值
2.1 一维
2.2 二维
首先在x方向上面线性插值,得到R2、R1:
然后以R2,R1在y方向上面再次线性插值:
如果选择一个坐标系统使得 f 的四个已知点坐标分别为 (0, 0)、(0, 1)、(1, 0) 和 (1, 1),那么插值公式就可以化简为:
用矩阵表示:
3、双三次插值
在数值分析这个数学分支中,双三次插值是二维空间中最常用的插值方法。在这种方法中,函数f 在点 (x, y) 的值可以通过矩形网格中最近的十六个采样点的加权平均得到,在这里需要使用两个多项式插值三次函数,每个方向使用一个。
双三次插值计算公式:
即
那么这个a(i, j)便是介绍里面所说的加权系数了,所以关键是要把它求解出来。
求解加权系数的公式如下:
双三次插值计算比较复杂,理解的时候可以对比双线性插值法,一个是根据周围4个点得到,一个是根据周围的16个点得到。在代码中调用时候可以直接使用OpenCV调用这些插值方法。
参考文章:
文章1
文章2
文章3