经典插值算法仿真

2022-10-26

图像插值的直接后果是原来由较少的像素所刻划的图像变成了由较多的像素所刻划的图像。常用的经典图像插值方法有最近邻插值, 双线性插值, 双三次插值三种, 也是经典的插值方法。图像插值实际上是图像的几何变换, 一个几何运算需要两个独立的算法, 一个用来描述空间变换本身, 即描述每个像素从其初始位置到终止位置的“移动”, 一个用来描述空间变换之后的图像灰度的插值计算。

1 算法原理介绍

在几何变换中, 如果我们将输入图像定义为f (x, y) , 把输出图像定义为g (x, y) , 那么, 几何变换就是一个从f到g的映射。在实际中我们可以通过空间变换来建立原像素坐标 (x, y) 和结果像素坐标 (x′, y′) 之间的空间映射, 这实际上是像素灰度值的位移。实践中, 我们常常使用的是逆映射变换, 它在计算上比较有效和方便。

1.1 最近邻插值法

最近邻插值, 也称零阶插值, 是最简单的插值算法。它输出的像素灰度值等于距离它映射到的位置最近的输入像素的灰度值。新图像的象素颜色是原图像中与创造的象素位置最接近象素的颜色。

1.2 双线性插值法

双线性插值, 也称一阶插值, 它是三次线性插值的结果。线形插值如图3所示, 如果已经知道了两点x0, x2处的函数值f (x0) , f (x) 2, 现在要求x1处的函数值f (x) 1。我们假设函数是线形的, 利用几何知识可以知道:

在图象处理中需要将线形插值扩展到二维的情况, 即采用双线形插值。如图就是先在A, B间线性插值得到E, C, D间线性插值得到F, 然后在E, F间线性插值得到最后的结果G。现在我们用坐标映射的方法来描述, 对于一个目的像素, 设置坐标通过反向变换得到的浮点坐标为G (i+u, j+v) , 其中i, j均为非负整数, u, v为[0, 1) 区间的浮点数, 则这个像素的值f (i+u, j+v) 可由原图像中坐标为A (i, j) , B (i+, 1j) , C (i, j+1) , D (i+1, j+1) 所对应的周围四个像素的值决定, 即:

1.3 双三次插值法

它考虑的是一个浮点坐标 (i+u, j+v) 周围的16个邻点加权平均得到, 目标像素f (i+u, j+v) 可以通过一下的过程来得到:

首先确立16个邻点的坐标, 可以构成一个点的矩阵[B], 如下:

然后在另外构造两个向量, 一个行向量[A]和一个列向量[C]:

其中, S (x) 是对Sin (x*Pi) /x的逼近 (Pi是圆周率—π) 。

2 仿真结果

本仿真实验主要是对灰度图像进行的插值, 才用了128×128尺寸的图像作为源图像进行插值放大两倍, 并与已知256×256原始高分辨率图像进行对比, 从而得出三种经典插值算法在算法运行时间, 均方差, 峰值性噪比方面的差异。

最近邻插可以很明显的看出有很明显的锯齿状, 细节部分很不清晰。双线性插值质量更高一些, 没有出现图像像素不连贯的现象, 锯齿难以觉察, 但是图像的边缘有轻微的模糊现象。双三次插值结果是三种插值方法中效果最好的, 它能够产生比双线性插值更加平滑的边缘。从实验数据来看, 算法的运行时间是依次递增, 均方误差逐次递减, 峰值信噪比依次递增。

3 结语

最近邻插值会增加图像的可见锯齿, 优点是速度快。双线性插值效果要好于最近邻插值法, 只是程序相对复杂一些, 运行时间也稍长些, 计算量大, 但缩放后图像质量高, 不会出现像素值不连续的情况。由于双线性插值具有低通滤波器的性质, 使高频分量受损, 所以可能会使图像轮廓在一定程度上变得模糊。双三次插值能够克服以上两种方法的不足, 计算的精度很高, 但是计算量也很大。

摘要:图像插值算法多种多样, 但是其中最经典, 最广为认知就是最近邻插值, 双线性插值, 双三次插值算法。本文描述了这三种算法的原理并对算法的性能 (包括运行时间, 峰值信噪比, 均方差) 进行了比较, 对算法所达到的效果进行分析和研究。

关键词:插值,最近邻,双线性,双三次

参考文献

[1] 陈书海, 傅录祥.实用数字图像处理[M].科学出版社, 2005.

[2] 何东健.数字图像处理[M].西安电子科技大学出版社, 2003.

[3] 李将云.图像处理中的插值和缩放若干技术研究[D].浙江大学, 2002.

[4] 艾海舟.数字图像处理[Z].2000.

上一篇:基于STM32的语音物联网寻物系统下一篇:《金属材料与热处理》教学设计策略探索