数字图像的三次卷积插值
CubicConvolution Interpolation for Digital Image Processing
三次卷积方法的精度在线性插值与三次样条插值之间,是对线性插值的改进,本质是一个三次多项式内插过程。主要推导一维三次卷积插值函数,若在二维方向上应用该算法即双三次(bicubic)插值算法。
插值函数是一种特殊的近似函数。
基本特性:在采样点上插值函数必须与采样数据相一致。
是被采样的函数也称为原函数,是相应的插值函数,是插值节点,那么必有。
插值核通过一个类似于卷积的操作把离散数据转化为连续函数。插值核对插值函数的性能有至关重要的影响,三次卷积插值的核函数是通过一系列加在插值核上的约束条件得来的,这些条件的设计目的是为了在给定的计算量情况下得到最好的精度。
三次卷积插值核由定义在上的分段三次多项式组成。在区间范围之外的核函数值为0,由于这个条件限制,所以在一维情况下,式(1)中用来插值运算的样本数据减少为4。
核函数必须是对称的。
二维插值通过在每个坐标上进行一维插值得到,二维三次卷积插值函数是一维插值函数的扩展。
双三次插值的主要思想:取待插值像素点周围的16个已知像素值的像素点作为参考点,然后在水平方向、垂直方向上分别进行三阶插值,最后得到的值作为待插值像素点的值。
双三次插值算法在水平方向、垂直方向上的插值核函数的一种典型形式如下式所示(第一节中推导出来的核函数)。
具体流程如下:如下图所示,(i-1, j-1)、(i-1, j)、(i-1, j+1)、(i-1, j+2)、(i, j-1)、(i, j)、(i, j+1)、(i, j+2)、(i+1, j-1)、(i+1, j)、(i+1, j+1)、(i+1, j+2)、(i+2, j-1)、(i+2, j)、(i+2, j+1)、(i+2, j+2)是待插值像素点(i+s, j+t)周围的16个已知像素值的像素点,现在需要求解出位于这16个像素点中间某点(i+s,j+t)处的像素值。
(1)先在水平方向上求出像素点(i-1,j+t)、(i, j+t)、(i+1, j+t)、(i+2, j+t)的值;
(2)然后在垂直方向上由这四个像素点的值求出像素点(i+s, j+t)的值。
特点:双三次插值算法考虑了待插值像素点周围更多已知像素点的相关性,因此计算得到的待插值像素点的值也会更加接近真实值。插值后图像的效果较双线性插值的结果有了很大提升,精确度较高;但由于考虑了十六个像素点的值以及插值核函数是三阶函数,计算量也增加。