第4章频率域滤波 滤波器:抑制或最小化某些频率的波或振荡的装置或材料」 频率:自变量单位变化期间,一个周期函数重复相同值序列的次数 一韦伯斯特新学院词典 引言 尽管在前一章中对空间滤波做了重点研究,但如果不了解在图像滤波中如何应用傅里叶变换和 频率域的基本知识,要彻底理解这一领域也是不太可能的。您不是一位信号处理专家也能深刻理解 这些主题,关键在于要关注基本原理以及它们与数字图像处理的关系。本章将重点闸述对初学者来 说较为困难的表示方法,并强调图像特征与用于表示这些特征的数学工具之间的联系。本章主要为傅 里叶变换的基本原理打下一个基础.并介绍在基本的图像滤波中如何使用傅里叶变换。然后,在第5 章、第8章、第10章和第11章中,我们将讨论傅里叶变换的其他应用。本章从傅里叶变换的起源 及其应用于数学、科学及工程的众多分支的要点开始讨论。然后,我们从函数取样的基本原理开始, 逐步推导一维和二维离散傅里叶变换以及频率域处理的要领。在这段阐述中,我们还要接触几个重要 的取样问题,例如,混酒,这些处理要求对频率域的理解,且在本章也有很好的覆盖。接下来是频率 域滤波的公式表示,以及与第3章中讨论的空间平滑和锐化滤波技术相对应的部分。我们以在图像处 理中实现傅里叶变换的有关问题的讨论结束本章。因为4.2节到4.4节的内容是基本背景知识.对一 维信号处理,包括傅里叶变换、取样、混淆和卷积定理很熟悉的读者可直接跳到4.5节,在这里,我 们开始讨论二维傅里叶变换及其在数字图像处理中的应用。 4.1背景 4.1.1傅里叶级数和变换简史 法国数学家吉恩·巴普提斯特·约瑟夫·傅里叶(Jean Baptiste Joseph Fourier)于1768年生于巴黎 与第戎之间的奥克塞里(Auxerr©)镇。他被世人铭记的最大贡献记载在他于18O7年发表的传记中和 l822年出版的La Theorie Analitique de la Chaleur(热分析理论)一书中。此书由Freeman(参见Freeman [1878)在55年后翻译为英文。傅里叶在这个领域的贡献是,他指出任何周期函数都可以表示为不同 四频率的正弦和/或余弦之和的形式,每个正弦项和/或余弦项乘以不同的系数(现在称该和为傅里叶级 22数)。无论函数多么复杂,只要它是周期的,并且满足某些适度的数学条件,都可以用这样的和来表
第4章频率域滤波 125 示。我们现在认为这是理所当然的,但在当时,这个概念第一次出现之后,一个复杂函数可以表示为 简单的正弦和余弦之和的概念一点也不直观(见图4.1),所以傅里叶思想遭到怀疑是不足为奇的。 甚至非周期函数(但该曲线下的面积是有限的) 也可以用正核和/或余弦乘以加权函数的积分来表 示。在这种情况下的公式就是傅里叶变换,其作用 在多数理论和应用学科中甚至远大于傅里叶级数。 用傅里叶级数或变换表示的函数特征完全可以通过 傅里叶反变换来重建,而不会丢失任何信息。这是 这种表示方法的最重要特征之一,因为它可以使我 们工作于“傅甲叶城”,而且在返回到函数的原始 域时不会丢失任何信息。总之,傅里叶级数和变换 是解决实际问题的工具,它作为基础工具被广泛地 学习和利用 傅里叶概念的最初应用是在热扩散领域,在该 领域,人们考虑用微分方程来表示热流动,并且使 用这种方法第一次获得了结论。在过去的一个世纪 中,尤其是后50年,傅里叶的思想使整个工业和 学术界都空前繁荣。早在20世纪60年代(或更晚 些),数字计算的出现和快速傅里叶变换算法(FT 的“发现”在信号处理领域产生了巨大变革。这 两种核心技术第一次允许人们对从医学监视器和 图4.1底部的函数是其上面4个函数的和。1807年 扫描仪到现代电子通信的异常重要的信号进行实 傅里叶关于周期函数可以表示为正弦和 际处理。 余弦的加权和的概念遭到了人们的质疑 由于我们将仅处理持续时间有限的函数(图像),所以傅里叶变换是我们感兴趣的工具。在以下 节的内容中,将介绍傅里叶变换和频率域。业已证明,傅里叶技术为研究和实现主要的图像处理算 法提供了有意义且实用的方法。在某些情况下,这些方法与我们在第3章中介绍的方法类似。 4.1.2关于本章中的例子 如第3章那样,在这一章中,多数图像滤波例子是处理图像增强问题。例如,平滑和锐化与为 比度处理技术一样,与图像增强有传统的联系。非常自然,数字图像处理方面的初学者会发现图像增 强很有趣并很容易理解。因此,在本章中以图像增强为例不仅可节省本书额外的章节,而且更重要的 是我们将为初学者介绍颜率域滤波技术提供一个有效的工具。在第5章、第8章、第10章和第1章 中,对于其他应用我们用频率域处理方法。 4.2基本概念 为简化本章的概念出现的进程,我们暂时停止介绍为后面的章节打基础的内容的一系列基本概念。 4.2.1复数 复数C的定义如下: C=R+jl (42.1)
126 数字图像处理(第三版) 其中,R和1是实数.j是一个等于-1的平方根的虚数,即j=√万。R表示复数的实部,1是复数的 虚部。实数是1=0的复数的子集。一个复数C的共轭表示为C,其定义是 C°=R-j (4.2-2 复数从U几何的角度可以被看成是平面(称为复平面)上的一个点,其横坐标是实轴(R的值,其纵坐标 是虚轴(1的值。也就是说,复数R+1是复平面直角坐标系统中的点(R,)。 有时,在极坐标下表示复数很有用: C=Cl(cos0+jsin0) (42.3) 其中,C=√R2+P是复平面的原点到点(R,)的向量的长度,日是该向量与实轴的夹角。在第一象 限中为向量画一个实轴和虚轴的简图将显示出tan=(I/R)或=arctan(I/R)。arctan函数返回区间 【一π/2,π/2]内的一个角度。然而,因为/和R可独立为正和负,因此我们需要能够得到全域[-元,π) 内的角度。在计算日时,可通过简单地跟踪/和R的符号来完成。许多编程语言可通过调用四象限反 正切函数来自动地计算角度。例如,MATLAB为此目的提供了函数atan2(Imag,Rea1)。 使用欧拉公式 e=cos0+jsin (4.2-4) 其中,©=2.71828…,可给出极坐标下我们很熟悉的如下复数表示: C=Cleie (4.25) 其中,C和的定义如上。例如,复数1+2的极坐标表示是5e°,其中0=64.4°或11弧度(ad) 前面的公式还可以用于复函数。例如.变量u的复函数F(u)可表示为F(w)=R)+ju).式中R(u)和 1u)分别是实分量函数和虚分量函数。正如前面说明的那样,复共轭函数是F`(u)=R()-j(u),幅值 是F(u=√R(u)2+Iu)2,角度是0(u)=arctan(u)/R(u。在本章和下一章中,我们还会多次讨论 复函数 4.2.2傅里叶级数 正如4.1】节指出的那样,具有周期T的连续变量:的周期函数)可以被描述为乘以适当系数的 正弦和余弦和。我们知道,这个和就是傅里叶级数,它具有如下形式: (42.6) 其中 c=f0e宁an=0h±2 (42.7) 是系数。式(4,2.6)可展开为正弦与余弦之和这一事实来自欧拉公式(4.24)。在本章的后面,我们将 回到傅里叶级数 中微挂不扎通微香义上的函数 4.2.3冲激及其取样特性 其更准确的名称是分布或广义 线性系统和傅里叶变换研究的核心是冲激及其取样特性。连续变 是:我们在文中适常会 二贸量1在1=0处的单位冲徽表示为0,定义是 这样的名称。尽管它省都名不副实
第4章频率城滤波 127 (4.2-8a 它还被限制为满足等式 ∫广6ot=1 (4.2-86 物理上,如果我们把!解释为时间,那么一个冲激可看成是幅度无限、持续时间为0、具有单位面积 的尖峰信号。一个冲激具有关于如下积分的所谓取样(sifting)特性: [f0)6)d=fo) (4.2-9) 假设f)在1=0处是连续的,这是实际中满足的一个典型条件。取样 特性得到函数f)在冲激位置(也就是,在前面的公式中为原点=0) s确字面上的意思是分隔。或通过 一个子分 的值。取样特性的一种更为一般的说明涉及位于任意点6的冲激,表 示为6(-6)。在这种情祝下,取样特性变为 f(r)8(t-t)dr=f(to) (4.2-10) 它在冲激位置处得到一个函数值。例如,如果f)=cos),使用式(4.2-10)中的冲激61-)得到 结果f()=cos(π)=-1。取样概念的能力立即变得相当明显。 令x表示一个离散变量。单位离散冲激δ(x)在离散系统中的作用与处理连续变量时冲激6)的 作用相同。其定义如下: 6)={0.x+0 L.x=0 (4.2-11a 很明显,该定义也满足式(42-8b)的离散等效形式: ∑6)=1 (4.2-11b 离散变量的取样特性有如下形式: ∑fe6)=fo (4.2-12 或者,更一般地用位置x=处的离散冲激。 f6(x-)=f4) (4.2-13) 如前面一样,我们看到,取样特性可简单地得到冲激位置处的函数值。图4.2以图解方式显示了单位 离散冲激。与其连续形式不同的是,离散冲激是一个普通函数。 本节后面特别感兴趣的是冲激串54,),它定义为无限多个分离的周期冲激单元△T之和: 5ar)=∑6-nAT) (4.2.14) 图43显示了一个冲激串。冲激可以是连续的或离散的
128 数字图像处理(第三版) r .·-34T-2T-1T04T24T31T 图42位于x=和处的单位离散冲激。变量x是 图43一个冲激申 离微的,任何不在x=处的6都是0 4.2.4连续变量函数的傅里叶变换 由3(f)表示的连续变量:的连续函数f)的傅里叶变换由下式定义①: 3f1=广fe-w"d (4.2-15) 其中,4也是一个连续变量。因为:被积分过了,故3(f)仅是4的函数。为了明确表示这一事实。 我们把傅里叶变换写成3f)=F();也就是,为了方便,∫)的傅里叶变换可写为 Fu)=∫foen山 (4.2-16) 相反,给定F(4),通过傅里叶反变换可以获得f),即f)=S'F(4),写为 f)=F(μ)ewdμ (4.2-17) 这里,我们使用了这样一个事实,即在反变换中变量4被积分过了,并简单地写成f①,而不是更 麻烦地表示为f)=3'1F()1。式(4.216)和式(4.2-17)合起来称为傅里叶变换对。它们指出了在 4.1节中提到的一个重要事实,即一个函数可以由其变换来恢复。 用欧拉公式,我们可以把式(4.216)表示为 F(un)=」广fu)[cos(2ur)-jsin(2)u (4.2-18) 我们看到,如果f)是实数,那么其变换通常是复数。注意,傅里叶变换是∫)乘以正弦项的 展开,正弦项的频率由4的值决定(如早些时候提到过的,变量:被积分过了)。因为积份后左边剩下的 唯一变量是频率,故我们说傅里叶变换域是频率域。在这一章稍后,我们将详细地讨论频率域及其特性 在我们的时论中,!可以表示任何连续变量,频率变量μ的单位取决于! 为与前两章中使用的术语保持一 的单位。例如,如果t表示单位为秒的时间。则4的单位为周/秒或者 数,井在本章后面用于图像,当变 赫兹)。如果1表示的是以米为单位的距离,则μ的单位是周/米, 用 ,我们一假将变 量:的域称为空间 等等。换句话说,频率域的单位是独立于输人变量的每单位周期的。 图 D 但其的充分条件图 变换
第4章频率城滤波 129 一个简单函数的傅里叶变换 F=f(edr=J2AeP山 动ewa em-e]小Aw (xW) 其中,我们利用了三角学恒等式sn0=(c9-e)/2j。在这种情况下,傅里叶变换的复数项精细地合并 为一个实正弦函数。前面表达式的最后一步是熟知的sc函数: sinc(m)sin(n) (42-19) 《Um) 其中,sinc(0)=1,对于m的所有其他整数值,sncm)=0。图4.4句)显示了F()的曲线。 通常,傅里叶变换包含复数项,且为显示目的,通常处理该变换的幅值(一个实量),该幅值称为傅 里叶谱或频谱: F啡-Awe 图4.4(©)显示了作为频率的函数的F(μ的曲线。我们注意的关键特性是F(4)和F(μ)的零值位置与“盒 状”函数的宽度W成反比,即波瓣的高度随函数距原点的距离降低,并且函数在:值的正方向和负方向 上无限扩展。正如您在稍后将会看到的那样,这些性质对解释图像的二维傅里叶变换谱十分有用。 a b c lECl AW aaa -2/w 2/W. ..-2/W /w2w. 图44(a一个简单的函数:()该函数的傅里叶变换:()该函数的谱。所有函数在两个方向上都无限扩展 例4.2冲激和冲激串的傅里叶变换 位于原点的单位冲澈的傅里叶变换由式(4.2-16)给出: F(u))=∫广ewd=厂ew80t=e0=e°=l 其中,第三步由式(4.29)中的取样特性得出。这样,我们看到,一个位于空间域原点的冲激的傅里叶变 换,在频率域是一个常数。类似地。位于1=6的一个冲激的傅里叶变换是 F)=厂60-6)e-d山=∫广ew60-6)d=e=cos(2u)-jsin(2r,) 公式的第三步由式(4210)中的取样特性得到,最后一行由欧拉公式得到。最后两行是以复平面原点为中 28 心的单位圆的等效表示。 230
130 数字像处理(第三版) 在43节,我们将利用周期冲激串的傅里叶变换。得到这个变换并不像我们得到刚才显示的单个冲激 的变换那样简单。然而,理解如何推导一个冲激串的变换是十分重要的,因此这里我们花一些时间来详 细推导它。我们从仅在形式上与式(4216)和(4217)的指数符号上有些不同的注释开始。这样,如果函 数了有傅里叶变换F(),则在点求值后函数是F),它一定有变换f(一4)。使用这种对称特性和上 面给出的冲激6-)的傅里叶变换是e%,,可得函数e卫%的变换为6(-μ-6)。令-6=a,可得 e卫的变换是6(-u+a)=μ-a),其中最后一步是正确的,因为6仅在4=a时不为零,对于 6(-μ+a)或6(μ-a),结果均相同,因此这两种形式是等价的。 式(4214)中的冲激串sx)是周期为△T的周期函数,因此由422节可知它可表示为一个傅里叶级数: rm=∑ce0 其中。 参考图43,我们看到区间-△T12,△T12的积分仅包含位于原点的冲激5)。因此。上面的公式变为 然后,傅里叶级数可展开为 如立2帝 我们的目的是得到该表达式的傅里叶变换。因为求和是线性过程,得到和的傅里叶变换与求各个分 量的傅里叶变换之和是相同的。这些分量是指数形式,在这个例子中,我们早些时候已确立 因此,周期冲激串54,)的傅里叶变换S)是 sum=s-8位20如2立2“-) 这个基本结果告诉我们,周期为△T的冲激串的傅里叶变换还是冲激串,其周期为1/△T。5,)和S(4) 之间周期的这种反比关系与图4.4中盒状函数及其变换之间的关系是类似的。这种特性在本章的其余部分 中扮演着主要角色。 4.2.5卷积 在讨论之前,我们还需要建立一个模块。我们在3.4.2节介绍过卷积的概念。在那一节,您已了 解两个函数的卷积涉及一个函数关于原点做翻转(旋转180°)并滑过另一个函数。在滑动过程中的每 一个位移处我们执行计算,在第3章的情况下是计算乘积之和。在当前讨论中,我们的兴趣在于具有 连续变量1的两个连续函数f)和)的卷积,因此我们必须用积分代替求和。像之前那样,这两个 函数的卷积由算子★表示,卷积定义如下: 画 f)★h)=」f(c)ht-t)dr (4.2-20
第4章频率域滤波 131 其中,负号表示网刚刚提及的翻转,1是一个函数滑过另一个函数的位移.而:是积分假变量。现在我 们假定函数从一∞扩展到∞。 在图3.4.2中我们说明了卷积的基本机制,而且在本章稍后和第5章中我们会再次说明它。此时, 我们的兴趣在于寻找式(4.2-20)的傅里叶变换。我们从式(4.2-15)开始: 3o*ho=∫feh-dre山=∫feyh-edrd 方括号中的项是一)的傅里叶变换。我们在本章稍后将证明 3h-)川=H(u)e2r,其中H()是h)的傅里叶变换。在前 如果颜倒0和)的顺序,可 以得到相同的结果。故卷积清足交 一公式中利用这一事实可得 换律。 (f()[H()e dr=H(f(e-d=H()F() 回顺一下42.4节,我们将所在的域称为空间域。而将μ所在的域称为频率域,前面的公式告诉我 们,空间域中两个函数的卷积的傅里叶变换等于两个函数的傅里叶变换在频率域中的乘积。反过来, 如果有两个变换的乘积,那么我们可以通过计算傅里叶反变换得到空间域的卷积。换句话说 f)★h()和H(u)F(4)是傅里叶变换对。这一结果是卷积定理的一半,并可以写为 f)★h)台H(4)F(4) (4.2-21)】 双箭头用于指示右边的表达式是通过对左边的表达式执行傅里叶变换得到的,而左边的表达式是通过 求右边的表达式的傅里叶反变换得到的。 遵循类似的推导可得到卷积定理的另一半: f)h()台H(μ)★F(4) (42-22 它说明频率域的卷积类似于空间域的乘积,两者分别与傅里叶正、反变换相联系。正如在本章稍后您 将看到的那样,卷积定理是频率域滤波的基础。 4.3取样和取样函数的傅里叶变换 在这一节,我们将利用4.2节的概念系统地阐述取样的数学基础。这将从基本原理开始引导我们 学习取样函数的傅里叶变换。 4.3.1取样 用计算机处理之前,连续函数必须转换为离散值序列。正如2.4节介绍的那样,这是用取样和量 化来完成的。在下面的讨论中,我们将详细地研究取样。 参考图45,考虑一个连续函数f),我们希望以独立变量1的均今间隔(△T)取样。我们假定函 数对于!从一x到x扩展。如4.2.3节讨论的那样,模拟取样的一种方法是用一个△T单位间隔的冲激 串作为取样函数去乘以f),即 j0=f05r0=∑f06-naTn (4.3-1) 中。和表示取样后的函数。这一和式的每一个分量都是由在该冲激位置处0的值加权后的冲激,园
132 数字图像处理(第三版) 如图45(。)所示。每个取样值由加权后的冲激“强度”给出,我们可通过积分得到它。也就是,序列中的 任意取样值f由下式给出: 按△了单位间隔取样表明取样常 人=」fu)8t-k△T)d=fk△T) (4.3-2) 等于/AT如果△T的单位为衫 其中,我们利用了式(4.2-10)中6的取样特性。式(4.3-2)对任何整数是取样数来,依次类推 k=…,-2.-1,0.1,2.…都成立。图4.5(@)显示了结果,它由原始函数的 等间隔取样组成。 -2T-70T24T f(ossr(t) T 27-70T27 =f(aT) ·。 。 图45(a)一个连续函数:()用于模拟取样过程的冲激串()图(a)和图6)相乘形成的取样后的函数 (@)由积分并使用冲激的取样特性得到的取样值[图(©)中的虚线仅供参考,它不是数据的部分】 4.3.2取样函数的傅里叶变换 令F()代表连续函数f)的傅里叶变换。如前节讨论的那样,取样后的相应函数)是f 与一个冲激律的乘积。由42.5节的卷积定理我们可知,空间域两个函数乘积的傅里叶变换是两个函 数在频率域的卷积。这样,取样后的函数了)的傅里叶变换F()是 F)=3j月=3{f)saI)}=F(u)★S() (43-3) 其中,由例4.2可知 (4.3-4)
第4章频率域滤波 133 是冲激串s)的傅里叶变换。由式(4.2-20)中的定义我们可直接得到F(4)和S()的卷积: F=Fu★S4)=F(e)Su-)dr Fo2u-tr=∫re6u-rr (4.35) 立立 其中,最后一步来自于由式(4.210)给出的冲激取样特性。 式(4.35)中最后一行的球和表明,取样后的函数了)的傅里叶变换F()是F(山的一个拷贝的无 限、周期序列,也是原始连续函数的傅里叶变换。拷贝间的间隔由V△T的值决定。很明显,虽然)是 取样后的函数,但其变换F(4)是连续的,因为它油F(4)的几个拷贝组成,所以F(4)是一个连续函数 图4.6是前面结果的一个图示总结P。图4.6(a)是函数f)的傅里叶变换F(4)的简图,图4.66) 显示了取样后的函数的变换F(山)。正如前节提到的那样,1V△T是用于生成取样后的函数的取样率 因此,在图4.66)中,取样率要足够高,以便在周期之间提供有效的间隔。并保持F()的完整性。 在图4.6(c)中,取样率网刚好足以保持F(4),但在图4.6(@)中,取样率低于保持不同F()拷贝的最小 取样率要求,这样,就不能保持原始变换。图4.6(b)是对信号过取样后的结果,图4.6(c)和()分别是 对信号临界取样和欠取样后的结果。这些概念是下一节内容的基础。 F(u 个个个个个 1八 -3A-2Ar-1A701A72A73/7 图46()一个带限函数的里叶变换:b)-(分别在过取样、临界取样、欠取样条件下取样后的函数的博里叶变换 ①为清楚起见,图46中傅里叶变换的草图及本查中的其他类似图形,忽略了变换一般是复函数这一事实