双三次插值数学原理及其卷积算法原理(Bicubic Interpolation)

本文是维基百科上双三次插值的中文翻译,如有侵权会立即删除。本人刚学图像处理,第一次翻译英文文章,水平有限,如有错误还请指正。

附上原文链接:https://en.wikipedia.org/wiki/Bicubic_interpolation

单位正方形中的插值平面计算:

假设在单位正方形的四个顶点上函数f的函数值、x偏导、y偏导、xy混合偏导都已知。插值曲面p(x,y)可以写为:

通过这4个点f的信息,去确定一个曲面P(x,y)来拟合f,需要确定p(x,y)中的16个参数。
p(x,y)上4个点的函数值满足f:

同上,4个点共8个偏导数满足:

同上,4个点4个混合偏导数满足:

显然,p(x,y)的偏导数可以根据前面设的表达式求导得到:

这样得到的曲面p(x,y)在单位正方形内都连续可导。在任意大小的规则网格上的双三次插值可以通过将上面方法得到的曲面连接起来得到,注意在小方格边界上要满足边界条件。
如果将未知参数按如下顺序列成向量:

并设x为:

则上面p(x,y)中的参数可以由矩阵运算得到:

其中inv(A)为:

这样可以使得α被很快地求解出来。
同样的,也可以列成另外一种矩阵形式,这样更简洁:

两种方法都能确定p(x,y),其中第二种矩阵阶数小且能用矩阵表示p(x,y),更方便。

扩展到矩形网格:

通常应用程序要求双三次插值使用一个矩形网格上的数据,而不是单位正方形。这种情况下,偏导数的定义为:

其中Δx、Δy是网格中矩形的长或宽。
这样,计算α的实用方法是:
设x:

用前面给出的A求解α:

然后将标准化的插值变量(x,y)代入p(x,y):

公式中的x0、x1、y0、y1是(x,y)的近邻点。

这样就得到了一个矩形内的插值曲面p(x,y)。
注意到上面的方法中需要用道偏导数信息,而对于一个离散的像素灰度数组,只有函数值信息,因此需要用下面介绍的方法计算。

从函数值中得到导数:

如果矩形顶点导数未知,那么可以通过矩形顶点的近邻点的函数值的有限次差分来近似得到。
为了计算两个一阶偏导数(x、y两个方向),可以计算该点在对应方向上的两个近邻点的连线的斜率。例如计算x方向的偏导数,可以找到它左边和右边的两个近邻点,然后将这两点相连,得到直线的斜率,作为偏导数。
同样的,也可以计算二阶混合偏导数。例如计算某个矩形顶点的二阶混合偏导数,则先计算它上下两个近邻点的一阶x方向偏导数,再用这两个偏导数值类似前面求y方向偏导数的方法求二阶偏导数。这个计算中,对一个顶点,用到了它八邻域的4个角点的函数值。
对于数据的边界,如果没有部分近邻点,那么这些点可以通过很多方法来近似。一种简单常用的方法是认为边界处的斜率不变,也就是利用已知数据在边界处的斜率以及边界点的函数值来估算不存在的近邻点。

双三次插值的卷积算法:

上面的方法需要在每一个矩形格求解线性方程。
有另一种插值方法可以完成类似的功能。通过在两个维度上与下面的核函数进行卷积,可以得到待插值:

其中a通常设置为-0.5或-0.75。注意W(0)=1,当n为正整数时,W(n)=0(如n=1)。
这个方法是由Keys提出的,他证明了a=-0.5时关于原始函数的取样间隔是三阶收敛的。
如果我们用矩阵来表示通常的a=-0.5的情况,那么我们可以把方程表示一种更友好的方式:

其中,t在0到1之间。注意对于一个维度的立方卷积插值是需要4个取样点的,其中两个在待插值点的左边,另外两个在右边,在这里用-1到2的下标表示了这些点。待插值点与下标为0的点之间的距离就是t。
对于两个维度的插值,则可以现在x方向上进行上面的计算,再在y方向上用x方向上的结果进行第二次上面的计算。

如上面的式子,共16个数据点。先对4个一组的x方向的点用tx进行上面的一维卷积得到b。之后对b用ty进行一维卷积得到p(x,y)。
通过上面的计算,可以得到二维卷积的公式。对于每个取样点,以W(x)*W(y)作为权值,然后对16个取样点加权求和,结果与两次一维卷积的结果相同。

英文原文:https://en.wikipedia.org/wiki/Bicubic_interpolation

【数字图像处理】双三次插值及其卷积算法(Bicubic Interpolation)相关推荐

  1. 数字图像处理——隐形眼镜缺陷检测算法

    数字图像处理--隐形眼镜缺陷检测算法 摘 要:本文致力于寻找出一种具有较强鲁棒性的检测隐形眼镜边缘缺陷的方法.本文针对图像中物体几何形状的特殊性,提出了一种基于霍夫变换的缺陷检测算法,并在低噪声图像的 ...

  2. 数字图像处理之图像锐化算法

    图像锐化 图像锐化,主要用于增强图像的边缘,及灰度跳变部分.因为图像中边缘及急剧变化部分与图像的高频分量有关,所以当利用高通滤波器衰减图像信号中的低频分量时就会相对的强调其高频分量,从而加强图像中的边 ...

  3. 数字图像处理:OpenCV直方图均衡算法研究及模拟实现

    一.引言 在<数字图像处理:直方图均衡(Histogram Equalization)的原理及处理介绍 >(链接:https://blog.csdn.net/LaoYuanPython/a ...

  4. 数字图像处理 线性系统、卷积、傅立叶变换

    第九章 线性系统.卷积.傅立叶变换 目录 1.    线性系统 2.    二维卷积 3.    Fourier变换 作业 1. 线性系统 线性系统理论在"系统分析与控制"及&qu ...

  5. 数字图像处理 图像对比度增强算法概览

    一.图像对比度增强 图像对比度增强又叫作图像对比度拉伸或者直接称为点运算.图像亮度和对比度调整的目的之一是在合适的亮度上提供最大的细节信息,细节纹理的沟纹越深,图像越清晰.在图像处理中,图像对比度增强 ...

  6. 数字图像处理:图像分割 人工智能算法在图像处理中的应用

    人工智能算法在图像处理中的应用 人工智能算法包括遗传算法.蚁群算法.模拟退火算法和粒子群算法等,在图像边缘检测.图像分割.图像识别.图像匹配.图像分类等领域有广泛应用.本文首先介绍常用人工智能算法的的 ...

  7. 数字图像处理,图像锐化算法的C++实现

    http://blog.csdn.net/ebowtang/article/details/38961399 之前一段我们提到的算法都是和平滑有关, 经过平滑算法之后, 图像锐度降低, 降低到一定程度 ...

  8. 智能数字图像处理:图卷积SGN代码(pytorch)之model.py解读

    解读SGN类 1.self.dim1 = 256         self.dataset = dataset         self.seg = seg         num_joint = 2 ...

  9. 【数字图像处理】图像内插“双三次内插法 双三次插值 Bicubic interpolation”(cv2.resize、cv.INTER_CUBIC)

    文章目录 基本原理 代码 引用自:<数字图像处理> 基本原理 引用自:https://baike.baidu.com/item/%E5%8F%8C%E4%B8%89%E6%AC%A1%E6 ...

最新文章

  1. 论文速读:AI能从人类的愚蠢中学到什么?
  2. 【 FPGA 】特定情况下消除不稳定态的方法
  3. [转]删除MSSQL所有的约束及表格
  4. declare-styleable:自定义控件的属性
  5. Redis学习笔记之二 :在Java项目中使用Redis
  6. 最快解决在win下杀死端口号的方式
  7. 背景图片hover加蒙层_用hover怎么将li的背景图片变透明,文字不变,是背景图片,不是img插入...
  8. 消息中间件系列(二):Kafka的原理、基础架构、以及使用场景
  9. 40 个 SpringBoot 常用注解:让生产力爆表!
  10. datatables data bind json
  11. 取整函数和浮点计算函数,判断奇偶数,mysql序列号
  12. Android Studio出现Error:No service of type Factory available in ProjectScopeServices.
  13. ThreadGroup(线程组)
  14. Reeder 5.0.3 将RSS阅读体验发挥到极致
  15. android图片背景颜色透明度,android:设置背景图片、背景颜色透明
  16. 南京地铁行业发展策略与运营建设规模分析报告2022版
  17. 有关rand(),srand()产生随机数学习总结
  18. Spug“账户已被系统禁用”的解决办法
  19. win2003 服务器设置 完全版 作者:冰盾防火墙
  20. 民法学习入门的“听说读写”之道

热门文章

  1. 为什么内网地址普遍是192.168.1.1
  2. Android学习资料整理收集--路漫漫其修远兮
  3. win10打印机共享问题集,及解决方法持续更新
  4. 图片水印怎么加?图片加水印方法分享
  5. 天宝AMD 300U物理机安装黑群晖处理内存不足的问题
  6. SpringBoot 快速集成 JWT 实现用户登录认证
  7. 华为ensp模拟器 给路由器配置DHCP
  8. android res文件夹下values对应最全的本地化语言
  9. 电脑插入U盘后显示CD驱动器,如何还原为正常U盘?
  10. 计算机无法识别出cd驱动器,迅捷(FAST)免驱无线网卡插到电脑上无法识别CD驱动器怎么解决?【图解】...