cubic convolution interpolation (三次卷积插值)
来源:互联网 发布:4g网络哪家强 编辑:程序博客网 时间:2024/05/20 21:44
算法来源: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.
- cubic convolution interpolation (三次卷积插值)
- Cubic interpolation立方插值
- 三次卷积插值
- 插值(Interpolation)
- 视频插值--Video Frame Interpolation via Adaptive Separable Convolution
- Opencv 三次样条曲线(Cubic Spline)插值
- 【图像缩放】双立方(三次)卷积插值
- 二维三次卷积插值算法
- less-Variable Interpolation(变量插值)
- 插值(interpolation)
- 插值(Interpolation)
- 三次样条插值(Cubic Spline Interpolation)及代码实现(C语言)
- 三次样条插值(Cubic Spline Interpolation)及代码实现(C语言)
- 三次样条插值(Cubic Spline Interpolation)及代码实现(C语言)
- 三次样条插值(Cubic Spline Interpolation)及代码实现(C语言)
- 视频插帧--Video Frame Interpolation via Adaptive Convolution
- stylus之插值(Interpolation)
- 最临近、双线性、三次卷积插值(图像放缩)
- HIBERNATE与 MYBATIS的对比
- 即时通讯基础
- windows nginx+tomcat+sqlserver+redis 坑+条件
- 作用域及作用域链--javascript
- tflearn在tensorflow上的安装配置(基于ubuntu)
- cubic convolution interpolation (三次卷积插值)
- 支持向量机(SVM)必备知识(KKT、slater、对偶)
- 对于设计模式的理解
- Can you answer these queries? hdu 4027
- python爬虫(14)获取淘宝MM个人信息及照片(上)
- android 自定义控件系列之一 圆形图控件
- nginx.conf配置
- NavigationView
- c#编写dll 供其他语言调用问题