图像插值算法概览及代码实现

目前,人们已经提出了很多图像插值算法,

首先给出图像插值定义:
图像插值是在基于模型框架下,从低分辨率图像生成高分辨率图像的过程,用以恢复图像中所丢失的信息。图像插值算法概览及代码实现_第1张图片
分类
图像插值的狭义分类
主要可以分为两类,一类是线性图像插值方法,另一类是非线性图像插值方法,如下图所示。传统的插值方法如最近邻插值,双线性插值以及双三次插值等都属于线性插值方法。这类插值方法在图像插值过程中采用同一种插值内核,不用考虑待插像素点所处的位置,这种做法会使图像中的边缘变得模糊不清,达不到高清图像的视觉效果。非线性插值方法主要包括:基于小波系数的方法基于边缘信息的方法其中,基于边缘信息的方法又可分为隐式方法和显式方法 两种。,其中隐式方法包含边缘导向插值(New edge directive interpolation,NEDI),最小均方误差估计插值(Linear minimum mean square-error estimation,LMMSE)
软判决自适应插值(Soft-decision adaptive interpolation interpolation,SAI),提出的边缘对比度引导的图像插值(Contrast-guideed image interpolation,CGI)等都是隐式的基于图像边缘的插值方法。

2.线性插值算法
主要有最邻近插值,双线性插值,双三次插值
这些算法在很多博客论坛都有相应的讲解五种线性插值介绍及实现,OpenCV当中也有相应的库,所以在此不再赘述。

3.非线性插值算法
这里主要有两个分类,基于小波变换的插值算法,基于边缘信息的插值算法
3.1基于小波变换的插值算法
由于小波具有多分辨率分析功能和逐渐局部细化等性质,基于小 波 的 插 值 方 法
也 相 继 被 提 出。小 波 变 换 (DWT)的基本思想就是将信号分解到不同的尺度或者分辨率层上,这样可以在不同的尺度上独立的对信号进行研究和分析。正交小波分解不仅可将图像的高低频信息很好地分离,而且分解后各层子带之间具有相似性。分解后的低频信息中包含了图像的绝大部分能量;高频信息则对应图像的边缘信息。
如下图所示,通过小波变换,将图像的高低频信息分离后,可以单独对高频信息进行处理。若能准确地得到图像的高频细节,利用重构理论,将得到的高频与原有的低频相叠加,再通过离散小波逆变换(IDWT)就可以得到分辨率高一倍的图像。

图像插值算法概览及代码实现_第2张图片
3.2基于边缘信息的插值
由于边缘对人眼知觉系统的视觉重要性,有研究者提出了边缘引导的图像插值方法 来对图像边缘进行放大。基于边缘信息的图像插值方法的核心思想是对非边缘像素点采用无方向的传统插值方法进行插值,而对于边缘像素点则采用有方向的插值方法。边缘像素及其方向判断的精准度对最后的图像插值结果有着决定性的影响。

图像插值算法概览及代码实现_第3张图片
上图给出的是显式边缘插值算法的示意图,其中黑色虚线是图像的真实边缘,灰色实线是边缘检测算法检测出的边缘。对于图中的灰色像素点的插值,需要确定其在边缘的哪一侧,然后利用该侧的已知像素点对其进行估算。由于图像边缘的连续性与数字图像离散性的冲突,将连续的边缘映射到离散的像素点上会产生较大的误差,而且沿着图像边缘插值不易实现,所以此类方法发展较慢。
接下来着重介绍CGI算法
CGI又叫边缘对比度引导的图像插值(Contrast-guideed image interpolation)
图像插值算法概览及代码实现_第4张图片
线性插值方法中,仅对传统意义上 1~2 个像素宽的边缘进行“保护”不够,为了保证插值效果,需要同时考虑距离边缘一定范围内的非边缘像素并对它们进行类似的保护(如采用边缘导向的一维方向插值,而不是采用无方向的二维插值),这一做法可称为“边缘扩散”或“边缘带状化”。特别地,边缘扩散的程度与边缘对比度(即边缘两侧像素的灰度值差异)成正比,即边缘对比度越大,扩散后的带状化边缘越宽。
图像插值算法概览及代码实现_第5张图片
最新发展的话有基于决策树,深度学习,字典学习的图像插值算法。还有将图像插值应用到别的领域的vedio compression through image interpolation
主要参考资料

在这里插入图片描述

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