常用插值算法详解 插值法公式( 二 )


常用插值算法详解 插值法公式

文章插图


我们可以求出直线的方程,然后把x坐标代入方程,求出相应的y值,可以由直线方程的两点公式得到
常用插值算法详解 插值法公式

文章插图


然后根据已知的x,我们可以代入上面的公式
常用插值算法详解 插值法公式

文章插图


了解线性插值后,我们再来看看双线性插值
。如果我们想得到未知函数fff在P=(x,y)点的值,我们假设我们知道函数F在Q11=(x1,y1),Q12=(x1,y2),Q21=(x2,y1)和Q22=(x2,y2)四点 。
常用插值算法详解 插值法公式

文章插图


首先在X方向进行线性插值,利用Q11和Q21可以得到R1的Y值,利用资源网络中的Q12和Q22可以得到R2的Y值
常用插值算法详解 插值法公式

文章插图


细心的同学可能会发现这个插值和线性插值不完全一样,所以我们用≈代替= 。其实我们用一种加权平均算法,通过合并两个点来计算一个点的Y值,主要是根据计算点与X方向两个端点的距离来计算计算点的Y值所占的比例 。
接下来,我们使用计算出的R1和R2插值P点,我们可以得到
常用插值算法详解 插值法公式

文章插图


仔细观察上述公式并不难 。事实上,PPP点的值等于四个周围点和P点形成的四个对角矩形区域的加权平均值
常用插值算法详解 插值法公式

文章插图


常用插值算法详解 插值法公式

文章插图


双三次插值双三次插值是一种比较复杂的插值算法,是2D 空最常用的插值算法 。与双线性插值相比,图像边缘更加平滑 。函数f在点(x,y)的值可以通过矩形网格中最近的十六个采样点的加权平均值获得 。这里,需要使用两个多项式插值三次函数,每个方向一个 。
双三次插值通过以下公式计算:
常用插值算法详解 插值法公式

文章插图


计算系数aij的过程取决于插值数据的特性 。如果已知插值函数的导数,常用的方法是利用四个顶点的高度和每个顶点的三个导数 。一阶导数h'x和h'y代表x和y方向的表面斜率,二阶导数h & # 39'Xy代表x和y方向的斜率 。这些值可以通过分别微分x和y向量来获得 。对于网格元素的每个顶点,将局部坐标(0,0)、(1,0)、(0,1)和(1,1)代入这些方程,然后求解这16个方程 。
看完上面一段,似乎还是没有很好的理解 。接下来,我们来看一个例子 。双三次插值中常用的双三次函数如下
常用插值算法详解 插值法公式

文章插图


上式中的a可以取-0.5,函数图像如下
常用插值算法详解 插值法公式

文章插图


对于要插值的像素点(x,y)(x,y可以是浮点数),取它们附近的44个域点(xi,yi),其中I,j=0,1,2,3 。根据以下公式进行插值计算:
常用插值算法详解 插值法公式

文章插图


比如我们需要求解P点值,P点周围有16个点
常用插值算法详解 插值法公式

文章插图


首先,我们要求当前像素和PPP点之间的距离 。比如a00和P(x+u,y+v)的距离是(1+u,1+v),那么我们可以得到a00对应的系数是(W(1+u),W(1+v)),那么a11的系数就是(w (u), 。
关于双三次插值函数的更详细介绍,请参考http://www.ncorr.com/download/publications/keysbicubic.pdf.的论文

面积插值(面积插值)区域插值算法主要分为两种情况,缩小图像和放大图像的工作原理不同 。
缩小图像
如果图像缩小比例是整数倍,调用INTER_LINEAR_EXACT插值算法时,如果图像宽度和高度缩小比例都是2,图像通道数不是2,实际上会调用INTER_AREA 。调用INTER_LINEAR时,如果图像的宽度和高度的缩小比例都是2,那么实际上会调用INTER_AREA 。
INTER_AREA实际上是一个箱式滤波器,类似于均值滤波器 。
放大图像
如果放大图像的比例是整数倍,则类似于最邻近插值 。如果放大倍数不是整数倍,将使用线性插值 。
兰佐斯插值Lanczos插值属于模板算法,需要通过计算模板中的权重信息来计算x对应的值 。对于一维信息,如果输入点集为x,则有一个对应Lanczos的Window模板窗口,窗口中每个位置的权重计算如下:


推荐阅读