[数字图像处理]数字图像的整数倍扩大(数字图像插值)

来源:互联网 发布:淘淘商城视频及源码 编辑:程序博客网 时间:2024/04/30 19:26

1.序言

       在不同的平台下,或者从不同仪器获得图像(或者数据),其大小与数据类型,都有着很大的不同。这里的大小,就是指的是分辨率。数字图像,其实是像素的集中表现形式,像素越多越密集,图像则可以表现得越精确的。我们将数字图像的像素数,称为分辨率。
       本文主要介绍了数字图像的整数倍扩大(也就是分辨率的变化)。事实上,扩大处理可以归结为,新的像素值的如何决定的插值问题。首先,作为目标,先对理想的插值进行理解。然后,对现有的常用插值方法进行一个讨论,对其性能进行全面的分析。

2.理想的插值处理

       首先,作为目标,先对理想的插值进行说明。为了便于理解,我们假设有如下这样一个模拟信号

左边是我们假设的模拟型号在时间域内的表现,右边是其频谱。先这样假设着,然后,我们将这个信号进行采样。
      
这里,是一个冲击串函数,所得到的是一个离散的信号。如下所示,求所得到的离散信号的离散傅里叶变换。

看上式,并求其离散信号的振幅谱,所得到的振幅谱变为了一个周期性的,表示为如下形式。

这里,我们选择的采样时间间隔为。一般的,还会将得到的振幅谱归一化,将横轴变为归一化频率。所得到的振幅谱的两个波峰之间差一个2π。

       为了说明理想插值,我们假设如下两个信号。首先,选择采样间隔时间为,可以得到如下信号①

然后,将其采样时间间隔设置为0.5倍(也就是将采样频率设置为信号①的2倍),也就是,可以得到如下的信号②

观察上述两个信号,①与②。我们可以得到这样两个信息。一,两个波峰之间的归一化频率的差都是2π。二,信号②的振幅是信号①的两倍。对于理想的插值处理,我们进行如下定义。

如果通过某个处理,可以从信号①变换到信号②的话,这样的插值处理就称为理想插值。

       下面,从频域上来观察一下理想插值处理。如下图所示,

最左边是信号①的频谱,最右边是信号②的频谱(也就是目标信号)。首先,在信号①的时间域的相邻的信号中间,依次插入1个0(扩大倍率是U的时候,插入0的个数是U-1个0。上述例子的U为2,故插入一个0。),所得到的信号的振幅谱就像中间的那样(这个操作相当于升采样处理[Upsampling])。下一步,就是从中间的频谱得到目标频谱。可以看到,如果可以将中间信号的频谱的π处的成分完全衰减,剩余的部分增幅2倍的话,便可以得到目标信号。将频域的某个部分衰减,同时增幅某个部分,这正是滤波器的作用。

       因此,为了实现理想的插值,就需要如下滤波器。

根据上图(滤波器的振幅特性),我们可以知道,为实现理想插值,所需要的滤波器是理想滤波器。之前的数字信号处理中,我们已经知道,理想滤波器是无法实现(因为其单位冲击响应是无限的)。所以,我们只能接近理想的滤波器。换句话说,我们可以得到这样一个结论!某种插值方法的好坏,可以由其相当的滤波器的振幅特性与理想滤波器的接近程度来判断。越接近理想滤波器,则可以得到更好的插值效果

3.常用插值方法的分析

       本小节主要对4种常用插值方法,零次保持法、线性插值法、cubic convolution插值法、B-spline插值法的性能进行分析。

       3.1 零次保持法

       这个方法,也就是最邻近插值法。举个栗子来说,就像下图。

左边的是输入信号,右边的是输出信号。这个方法,相当于如下所示的一维滤波器。

       3.2 线性插值法

       这个方法,就是将相邻的信号之间以直线相连,将直线上的值作为内插值的方法。可以参考下图。

左边的是输入信号,右边的是输出信号这个方法,相当于如下所示的一维滤波器。

这个表示方法可能有点难以理解。当扩大倍数为U时候,t值取-1到1,步进值为1/U,所得到的就是我们所需要的滤波器的单位冲击响应。例如,扩大倍数U=2的时候,所需要的h(t) = [0.5 1 0.5]。

       3.3 Cubic Convolution插值法

       这个方法也就是三次卷积插值法,这个方法相当于如下所示的一维滤波器。

与之前的线性插值法一样,当扩大倍数为U时候,t值取-1到1,步进值为1/U,所得到的就是我们所需要的滤波器的单位冲击响应。
       这里有一个参数a,调整参数a可以调整此插值法的性能,如下图所示。

        3.4 B-Spline插值法

        这个方法相当于如下所示的一维滤波器。

这个方法没有参数。

        3.5 上述四种方法的分析

        将上述四种方法相当于的滤波器和理想滤波器的振幅特性绘制出来,如下图所示。

根据上图,我们可以得到如下这样几个结论。
       ①:插值效果最差的插值法是零次保持法(最邻近插值法),这个滤波器跟理想滤波器差得最远。
       ②:比起零次保持法,线性插值法更加接近理想滤波器,所以线性插值法的效果比零次保持法更好。
       ③:cubic convolution插值法则更加接近理想滤波器,因此,性能比线性插值法要好。但是,其单位冲击响应有负值,会产生“振铃”现象,所以需要小心的调整参数a。
       ④:B-spline插值法,高频特性最接近理想滤波器,但是低频特性是距理想滤波器最远的。

4.常用插值方法的实现(Matlab)与实际插值效果分析

        4.1 评价用图片的制作方法

       首先,说明一下实验用的图片。在第2节中,我们通过用不同的采样频率,制作出两个信号①和②。我们将信号②作为目标信号,定义了理想的插值。换句话说,也就是信号②是信号①理想插值的结果。
       用相同的思想,我们这里用Matlab制作出两枚图片。图片②是图片①理想插值的结果。这两枚图片的制作方法如下图所示。    
使用上述方法,我们可以得到一下两枚实验用图片。其分辨率为:256×256  512×512两枚。


         4.2 实验顺序

         本次实验的顺序如下所示。

本次实验主要实现的是图像的分辨率的2倍扩大。由于需要评价插值法的效果,将2倍扩大后的图片与目标图片做差,得到差分图片。本次实验,我们使用SAD(Sum of Absolute Difference)作为评价参数,也就是差分图像的绝对值的和。SAD的值越大,插值效果越差。

        4.3 实验结果与Matlab代码



参考文献
貴家 仁志,“ディジタル画像の解像度変換 — 任意サイズへの画像の変換,” インターフェース,CQ出版,1998年6月
貴家 仁志,“ディジタル画像の解像度変換 — 画像の拡大,” インターフェース,CQ出版,1998年4月
貴家 仁志,“ディジタル画像の表現と階調変換,色間引きの原理,” インターフェース,CQ出版,1998年2月
《Digital Image Processing》 Rafael C. Gonzalez / Richard E. Woods


原文发于博客:http://blog.csdn.net/thnh169/