图像插值理论研究——双三次插值(双立方插值)

双三次插值,英文是Bicubic interpolation。双三次插值是一种更加复杂的插值方式,它能创造出比双线性插值更平滑的图像边缘。双三次插值方法通常运用在一部分图像处理软件、打印机驱动程序和数码相机中,对原图像或原图像的某些区域进行放大。Adobe Photoshop CS 更为用户提供了两种不同的双三次插值方法:双三次插值平滑化和双三次插值锐化。

在数值分析这个数学分支中,双三次插值(英语:Bicubic interpolation)是二维空间中最常用的插值方法。在这种方法中,函数f在点 (x,y) 的值可以通过矩形网格中最近的十六个采样点的加权平均得到,在这里需要使用两个多项式插值三次函数,每个方向使用一个。

双三次插值又叫双立方插值,用于在图像中“插值”(Interpolating)或增加“像素”(Pixel)数量/密度的一种方法。通常利用插值技术增加图形数据,以便在它打印或其他形式输出的时候,能够增大打印面积以及(或者)分辨率。

目前有不同的插值技术可供选用。双立方插值通常能产生效果最好,最精确的插补图形,但它速度也几乎是最慢的。“双线性插值”(Bilinear interpolation)的速度则要快一些,但没有前者精确。在商业性图像编辑软件中,经常采用的是速度最快,但也是最不准确的“最近相邻”(Nearest Neighbor)插值。其他一些插值技术通常只在高档或单独应用的程序中出现。

通过双三次插值可以得到一个连续的插值函数,它的一阶偏导数连续,并且交叉导数处处连续。

图像插值理论研究——双三次插值(双立方插值)_第1张图片

如上图所示,我们在新生成的图像中,像素点是f(x,y),先映射到源图像中的坐标为f(i+u,j+v)需要找到对应的原图像中离最近的16个点。

和前面介绍的双线性插值的分析方法类似(http://blog.chinaaet.com/justlxy/p/5100052604),我们可以分别对行和列进行依次处理。则有,

图像插值理论研究——双三次插值(双立方插值)_第2张图片

则有,

图像插值理论研究——双三次插值(双立方插值)_第3张图片

而s(*)表示的则是权值,有多种计算方法(模型),常用的有Bicubic、Mitchell和Lanczos等,这里简单介绍一下Bicubic函数:

image.png

该函数,波形如下图所示:

图像插值理论研究——双三次插值(双立方插值)_第4张图片

Lanczos函数为:

图像插值理论研究——双三次插值(双立方插值)_第5张图片

波形也是类似的:

图像插值理论研究——双三次插值(双立方插值)_第6张图片

主要参考文献:

  • https://baike.baidu.com/item/%E5%8F%8C%E4%B8%89%E6%AC%A1%E6%8F%92%E5%80%BC/11055947?fr=aladdin

  • https://en.wikipedia.org/wiki/Bicubic_interpolation

  • http://blog.csdn.net/taoyanbian1022/article/details/8850135

  • VLSI Realization of Lanczos Interpolation for a Generic Video Scaling Algorithm.pdf

注:原文最早发表于本人的ChinaAET博客(http://blog.chinaaet.com/justlxy/)

你可能感兴趣的:(图像处理)