cubic convolution interpolation (三次卷积插值)
2017-03-16 21:33
369 查看
算法来源:Cubic
convolution interpolation for digital image processing
文章只对一维情形进行分析,二维类似。
许多插值函数能够写成形式(其中
是插值点,u是基函数(文章中叫插值核),h是采样间隔,
是参数)
通过插值,用
来近似
。
cubic convolution interpolation 中插值核u定义为子区间(-2,-1),(-1,0),(0,1),(1,2)上的分块三次多项式,并且在(-2,2)外为0。插值核必须是对称的(我也不知为啥),这就意味着,u有如下形式:
插值核必须有
(这是基函数定义吧,为了方便计算,如果不这么定义的话,cj计算就比较麻烦)。因此有
因此,u必须满足:u(0)=1,u(1) = u(2)=0,且连续,即满足以下方程:
更进一步假设u'连续,得:
这里有七个方程,但是有八个未知量,所以至少有一个自由变量。[1]中采用
。在这篇paper里面,将选择一个
,使得有更高阶的近似(假设设原函数
至少存在三阶连续导数)。
先假设
,则,解出u为:
假设x是任意一个点,它的值将由插值得到。设
,令
由于
,插值函数能够被写成:
进一步,由于u在(-2,2)外为0,且0<s<1,(5)可写为:
将(4)知:
代入(6),得到:
假设
在
存在三阶连续导数。由泰勒公式得到(注意是大O):
类似的:
将这三个式子代入(7),得到:
由于
,
将
进行Taylor展开,得到:
(12) - (11)得到:
为了使得
能够以更高阶地近似
,则有
,这就得出
.这时有:
最终得到:
下面分析边界条件。可以看到前面的结果用了
,但是,现实情况中采样是有限的,在边界的时候,这些值是不知道的,这就使我们必须处理好边界。
假设所有采样点位于[a,b]中且
.我们要做的,就是估计
和
。按照前面的公式(6),
的插值为:
将(15)代入,得到:
(对比
的泰勒展开)要使得g是f的三阶近似,即
,就必须有
的系数为0.
由此得到:
。接下来要验证确实有
。
将
代入(18),有
将f,在各位置进行Taylor展开,得到:
代入(20)得到:
由:
两式相减,得到确实有
同样的,可以得到:
我们计算出
和
后,就可用插值函数对各点求插值了。
二维情形的插值函数为:
边界条件:
[1] Rifman S S. Digital rectification of ERTS multispectral imagery[J]. 1973.
convolution interpolation for digital image processing
文章只对一维情形进行分析,二维类似。
许多插值函数能够写成形式(其中
是插值点,u是基函数(文章中叫插值核),h是采样间隔,
是参数)
通过插值,用
来近似
。
cubic convolution interpolation 中插值核u定义为子区间(-2,-1),(-1,0),(0,1),(1,2)上的分块三次多项式,并且在(-2,2)外为0。插值核必须是对称的(我也不知为啥),这就意味着,u有如下形式:
插值核必须有
(这是基函数定义吧,为了方便计算,如果不这么定义的话,cj计算就比较麻烦)。因此有
因此,u必须满足:u(0)=1,u(1) = u(2)=0,且连续,即满足以下方程:
更进一步假设u'连续,得:
这里有七个方程,但是有八个未知量,所以至少有一个自由变量。[1]中采用
。在这篇paper里面,将选择一个
,使得有更高阶的近似(假设设原函数
至少存在三阶连续导数)。
先假设
,则,解出u为:
假设x是任意一个点,它的值将由插值得到。设
,令
由于
,插值函数能够被写成:
进一步,由于u在(-2,2)外为0,且0<s<1,(5)可写为:
将(4)知:
代入(6),得到:
假设
在
存在三阶连续导数。由泰勒公式得到(注意是大O):
类似的:
将这三个式子代入(7),得到:
由于
,
将
进行Taylor展开,得到:
(12) - (11)得到:
为了使得
能够以更高阶地近似
,则有
,这就得出
.这时有:
最终得到:
下面分析边界条件。可以看到前面的结果用了
,但是,现实情况中采样是有限的,在边界的时候,这些值是不知道的,这就使我们必须处理好边界。
假设所有采样点位于[a,b]中且
.我们要做的,就是估计
和
。按照前面的公式(6),
的插值为:
将(15)代入,得到:
(对比
的泰勒展开)要使得g是f的三阶近似,即
,就必须有
的系数为0.
由此得到:
。接下来要验证确实有
。
将
代入(18),有
将f,在各位置进行Taylor展开,得到:
代入(20)得到:
由:
两式相减,得到确实有
同样的,可以得到:
我们计算出
和
后,就可用插值函数对各点求插值了。
二维情形的插值函数为:
边界条件:
[1] Rifman S S. Digital rectification of ERTS multispectral imagery[J]. 1973.
相关文章推荐
- cubic_interpolation 三次曲线插值代码
- 最临近、双线性、三次卷积插值(图像放缩)
- 高质量的快速的图像缩放 中篇 二次线性插值和三次卷积插值
- 最临近、双线性、三次卷积插值(图像放缩) 分类: 图像处理(转载) 2014-09-23 08:16 219人阅读 评论(0) 收藏
- 最临近、双线性、三次卷积插值算法比较
- 三次样条插值(Cubic Spline Interpolation)及代码实现(C语言)+双线性插值
- bmp图像插值算法近邻取样(效果最差,也最快),双线性插值(效果可以,速度一般),三次卷积插值(效果最好,速度最慢)
- 最临近、双线性、三次卷积插值(图像放缩)
- 图形图像处理-之-高质量的快速的图像缩放 中篇 二次线性插值和三次卷积插值
- bmp图像插值算法近邻取样(效果最差,也最快),双线性插值(效果可以,速度一般),三次卷积插值(效果最好,速度最慢)
- 图形图像处理-之-高质量的快速的图像缩放 中篇 二次线性插值和三次卷积插值
- 最近邻、双线性、三次卷积插值
- (转)图形图像处理-之-高质量的快速的图像缩放 中篇 二次线性插值和三次卷积插值
- 图形图像处理-之-高质量的快速的图像缩放 中篇 二次线性插值和三次卷积插值
- 最临近、双线性、三次卷积插值算法比较
- 最临近、双线性、三次卷积插值算法比较
- 图形图像处理-之-高质量的快速的图像缩放 中篇 二次线性插值和三次卷积插值
- matlab cubic spline interpolation 三次样条插值
- 图形图像处理-之-高质量的快速的图像缩放 中篇 二次线性插值和三次卷积插值
- 【图像缩放篇之二】二次线性插值和三次卷积插值