[转载]傅立叶变换在图像处理中的作用

原文地址:傅立叶变换在图像处理中的作用 作者:白屋顶黑乌鸦
从现代数学的眼光来看,傅里叶变换是一种特殊的积分变换。它能将满足一定条件的某个函数表示成正弦基函数的线性组合或者积分。在不同的研究领域,傅里叶变换具有多种不同的变体形式,如连续傅里叶变换和离散傅里叶变换。
傅立叶变换属于调和分析的内容。"分析"二字,可以解释为深入的研究。从字面上来看,"分析"二字,实际就是"条分缕析"而已。它通过对函数的"条分缕析"来达到对复杂函数的深入理解和研究。从哲学上看,"分析主义"和"还原主义",就是要通过对事物内部适当的分析达到增进对其本质理解的目的。比如近代原子论试图把世界上所有物质的本源分析为原子,而原子不过数百种而已,相对物质世界的无限丰富,这种分析和分类无疑为认识事物的各种性质提供了很好的手段。
在数学领域,也是这样,尽管最初傅立叶分析是作为热过程的解析分析的工具,但是其思想方法仍然具有典型的还原论和分析主义的特征。"任意"的函数通过一定的分解,都能够表示为正弦函数的线性组合的形式,而正弦函数在物理上是被充分研究而相对简单的函数类,这一想法跟化学上的原子论想法何其相似!奇妙的是,现代数学发现傅立叶变换具有非常好的性质,使得它如此的好用和有用,让人不得不感叹造物的神奇:
1. 傅立叶变换是线性算子,若赋予适当的范数,它还是酉算子;
2. 傅立叶变换的逆变换容易求出,而且形式与正变换非常类似;
3. 正弦基函数是微分运算的本征函数,从而使得线性微分方程的求解可以转化为常系数的代数方程的求解.在线性时不变的物理系统内,频率是个不变的性质,从而系统对于复杂激励的响应可以通过组合其对不同频率正弦信号的响应来获取;
4. 著名的卷积定理指出:傅立叶变换可以化复杂的卷积运算为简单的乘积运算,从而提供了计算卷积的一种简单手段;
5. 离散形式的傅立叶变换可以利用数字计算机快速的算出(其算法称为快速傅立叶变换算法(FFT)).
正是由于上述的良好性质,傅里叶变换在物理学、数论、组合数学、信号处理、概率、统计、密码学、声学、光学等领域都有着广泛的应用。
傅立叶变换在图像处理中有非常非常的作用

傅立叶变换在图像处理中有非常非常的作用。因为不仅傅立叶分析涉及图像处理的很多方面,傅立叶的改进算法,

比如离散余弦变换,gabor与小波在图像处理中也有重要的分量。

印象中,傅立叶变换在图像处理以下几个话题都有重要作用:
1.图像增强与图像去噪
绝大部分噪音都是图像的高频分量,通过低通滤波器来滤除高频——噪声; 边缘也是图像的高频分量,可以通过添加高频分量来增强原始图像的边缘;
2.图像分割之边缘检测
提取图像高频分量
3.图像特征提取:
形状特征:傅里叶描述子
纹理特征:直接通过傅里叶系数来计算纹理特征
其他特征:将提取的特征值进行傅里叶变换来使特征具有平移、伸缩、旋转不变性
4.图像压缩
可以直接通过傅里叶系数来压缩数据;常用的离散余弦变换是傅立叶变换的实变换;

傅立叶变换
傅里叶变换是将时域信号分解为不同频率的正弦信号或余弦函数叠加之和。连续情况下要求原始信号在一个周期内满足绝对可积条件。离散情况下,傅里叶变换一定存在。冈萨雷斯版<图像处理>里面的解释非常形象:一个恰当的比喻是将傅里叶变换比作一个玻璃棱镜。棱镜是可以将光分解为不同颜色的物理仪器,每个成分的颜色由波长(或频率)来决定。傅里叶变换可以看作是数学上的棱镜,将函数基于频率分解为不同的成分。当我们考虑光时,讨论它的光谱或频率谱。同样,傅立叶变换使我们能通过频率成分来分析一个函数。
傅立叶变换有很多优良的性质。比如线性,对称性(可以用在计算信号的傅里叶变换里面);

时移性:函数在时域中的时移,对应于其在频率域中附加产生的相移,而幅度频谱则保持不变;

频移性:函数在时域中乘以e^jwt,可以使整个频谱搬移w。这个也叫调制定理,通讯里面信号的频分复用需要用到这个特性(将不同的信号调制到不同的频段上同时传输);
卷积定理:时域卷积等于频域乘积;时域乘积等于频域卷积(附加一个系数)。(图像处理里面这个是个重点)

 

信号在频率域的表现
在频域中,频率越大说明原始信号变化速度越快;频率越小说明原始信号越平缓。当频率为0时,表示直流信号,没有变化。因此,频率的大小反应了信号的变化快慢。高频分量解释信号的突变部分,而低频分量决定信号的整体形象。
在图像处理中,频域反应了图像在空域灰度变化剧烈程度,也就是图像灰度的变化速度,也就是图像的梯度大小。对图像而言,图像的边缘部分是突变部分,变化较快,因此反应在频域上是高频分量;图像的噪声大部分情况下是高频部分;图像平缓变化部分则为低频分量。也就是说,傅立叶变换提供另外一个角度来观察图像,可以将图像从灰度分布转化到频率分布上来观察图像的特征。书面一点说就是,傅里叶变换提供了一条从空域到频率自由转换的途径。对图像处理而言,以下概念非常的重要:

图像高频分量:图像突变部分;在某些情况下指图像边缘信息,某些情况下指噪声,更多是两者的混合;
低频分量:图像变化平缓的部分,也就是图像轮廓信息
高通滤波器:让图像使低频分量抑制,高频分量通过
低通滤波器:与高通相反,让图像使高频分量抑制,低频分量通过
带通滤波器:使图像在某一部分的频率信息通过,其他过低或过高都抑制
还有个带阻滤波器,是带通的反。


模板运算与卷积定理
在时域内做模板运算,实际上就是对图像进行卷积。模板运算是图像处理一个很重要的处理过程,很多图像处理过程,比如增强/去噪(这两个分不清楚),边缘检测中普遍用到。根据卷积定理,时域卷积等价与频域乘积。因此,在时域内对图像做模板运算就等效于在频域内对图像做滤波处理。
比如说一个均值模板,其频域响应为一个低通滤波器;在时域内对图像作均值滤波就等效于在频域内对图像用均值模板的频域响应对图像的频域响应作一个低通滤波。


图像去噪
图像去噪就是压制图像的噪音部分。因此,如果噪音是高频额,从频域的角度来看,就是需要用一个低通滤波器对图像进行处理。通过低通滤波器可以抑制图像的高频分量。但是这种情况下常常会造成边缘信息的抑制。常见的去噪模板有均值模板,高斯模板等。这两种滤波器都是在局部区域抑制图像的高频分量,模糊图像边缘的同时也抑制了噪声。还有一种非线性滤波-中值滤波器。中值滤波器对脉冲型噪声有很好的去掉。因为脉冲点都是突变的点,排序以后输出中值,那么那些最大点和最小点就可以去掉了。中值滤波对高斯噪音效果较差。

椒盐噪声:对于椒盐采用中值滤波可以很好的去除。用均值也可以取得一定的效果,但是会引起边缘的模糊。
高斯白噪声:白噪音在整个频域的都有分布,好像比较困难。
冈萨雷斯版图像处理P185:算术均值滤波器和几何均值滤波器(尤其是后者)更适合于处理高斯或者均匀的随机噪声。谐波均值滤波器更适合于处理脉冲噪声。


图像增强
有时候感觉图像增强与图像去噪是一对矛盾的过程,图像增强经常是需要增强图像的边缘,以获得更好的显示效果,这就需要增加图像的高频分量。而图像去噪是为了消除图像的噪音,也就是需要抑制高频分量。有时候这两个又是指类似的事情。比如说,消除噪音的同时图像的显示效果显著的提升了,那么,这时候就是同样的意思了。
常见的图像增强方法有对比度拉伸,直方图均衡化,图像锐化等。前面两个是在空域进行基于像素点的变换,后面一个是在频域处理。我理解的锐化就是直接在图像上加上图像高通滤波后的分量,也就是图像的边缘效果。对比度拉伸和直方图均衡化都是为了提高图像的对比度,也就是使图像看起来差异更明显一些,我想,经过这样的处理以后,图像也应该增强了图像的高频分量,使得图像的细节上差异更大。同时也引入了一些噪音。

图像傅立叶变换的物理意义

图像的频率是表征图像中灰度变化剧烈程度的指标,是灰度在平面空间上的梯度。如:大面积的沙漠在图像中是一片灰度变化缓慢的区域,对应的频率值很低;而对于地表属性变换剧烈的边缘区域在图像中是一片灰度变化剧烈的区域,对应的频率值较高。

傅立叶变换在实际中有非常明显的物理意义,设f是一个能量有限的模拟信号,则其傅立叶变换就表示f的谱。从纯粹的数学意义上看,傅立叶变换是将一个函数转换为一系列周期函数来处理的。从物理效果看,傅立叶变换是将图像从空间域转换到频率域,其逆变换是将图像从频率域转换到空间域。换句话说,傅立叶变换的物理意义是将图像的灰度分布函数变换为图像的频率分布函数,傅立叶逆变换是将图像的频率分布函数变换为灰度分布函数。

傅立叶变换以前,图像(未压缩的位图)是由对在连续空间(现实空间)上的采样得到一系列点的集合,我们习惯用一个二维矩阵表示空间上各点,则图像可由z=f(x,y)来表示。由于空间是三维的,图像是二维的,因此空间中物体在另一个维度上的关系就由梯度来表示,这样我们可以通过观察图像得知物体在三维空间中的对应关系。

为什么要提梯度?因为实际上对图像进行二维傅立叶变换得到频谱图,就是图像梯度的分布图,当然频谱图上的各点与图像上各点并不存在一一对应的关系,即使在不移频的情况下也是没有。傅立叶频谱图上我们看到的明暗不一的亮点,实际上图像上某一点与邻域点差异的强弱,即梯度的大小,也即该点的频率的大小(可以这么理解,图像中的低频部分指低梯度的点,高频部分相反)。一般来讲,梯度大则该点的亮度强,否则该点亮度弱。这样通过观察傅立叶变换后的频谱图,也叫功率图,我们首先就可以看出,图像的能量分布,如果频谱图中暗的点数更多,那么实际图像是比较柔和的(因为各点与邻域差异都不大,梯度相对较小),反之,如果频谱图中亮的点数多,那么实际图像一定是尖锐的,边界分明且边界两边像素差异较大的。对频谱移频到原点以后,可以看出图像的频率分布是以原点为圆心,对称分布的。将频谱移频到圆心除了可以清晰地看出图像频率分布以外,还有一个好处,它可以分离出有周期性规律的干扰信号,比如正弦干扰,一副带有正弦干扰,移频到原点的频谱图上可以看出除了中心以外还存在以某一点为中心,对称分布的亮点集合,这个集合就是干扰噪音产生的,这时可以很直观的通过在该位置放置带阻滤波器消除干扰。

另外我还想说明以下几点:

1、图像经过二维傅立叶变换后,其变换系数矩阵表明:

若变换矩阵Fn原点设在中心,其频谱能量集中分布在变换系数短阵的中心附近(图中阴影区)。若所用的二维傅立叶变换矩阵Fn的原点设在左上角,那么图像信号能量将集中在系数矩阵的四个角上。这是由二维傅立叶变换本身性质决定的。同时也表明一股图像能量集中低频区域。

2 、变换之后的图像在原点平移之前四角是低频,最亮,平移之后中间部分是低频,最亮,亮度大说明低频的能量大(幅角比较大)

大致思路可能是:解析函数属调和函数一部分,而圆盘内调和函数可表示为其圆周上的限制的一个积分,这个地方好象和富变换有些联系。你这个问题很有起发,我也一直想这类问题。
拉普拉斯变换的推导途径:
  1、 从数学角度:通过积分变换进行函数到函数的变换,将微分方程变为代数方程。
  2、 从物理意义推导:本质上依然是将信号分解为多个正交的子信号的和(积分),或可以从FT推广出。
  从傅里叶变换导出拉普拉斯变换,可以更加清晰地解释其物理含义,并且可以将两种变换紧密地联系起来。
  拉普拉斯变换提供了一种变换定义域的方法,把定义在时域上的信号(函数)映射到复频域上(要理解这句话,需要了解一下函数空间的概念--我们知道,函数定义了一种“从一个集合的元素到另一个集合的元素”的关系,而两个或以上的函数组合成的集合,就是函数空间,即函数空间也是一个集合;拉普拉斯变换的“定义域”,就是函数空间,可以说,拉普拉斯变换就是一种处理函数的函数。由于拉普拉斯变换定义得相当巧妙,所以它就具有一些奇特的特质),而且,这是一种一一对应的关系(只要给定复频域的收敛域),故只要给定一个时域函数(信号),它就能通过拉普拉斯变换变换到一个复频域信号(不管这个信号是实信号还是复信号),因而,只要我们对这个复频域信号进行处理,也就相当于对时域信号进行处理(例如设f(t)←→F(s),Re[s]>a,则若我们对F(s)进行时延处理,得到信号F(s-z),Re[s]>a+Re[z],那么就相当于我们给时域函数乘以一个旋转因子e^zt,即f(t)e^zt←→F(s-z),Re[s]>a+Re[z];只要对F(s-z)进行反变换,就可以得到f(t)e^zt)。
  拉普拉斯变换被用于求解微分方程,主要是应用拉普拉斯变换的几个性质,使求解微分方程转变为求解代数方程(因为求解代数方程总比求解微分方程容易得多!而且,(可以很方便地)对求解结果进行拉普拉斯反变换从而得到原微分方程的解)。
  我们总可以容易地画出实变函数的图像(绝大多数函数的确如此),但我们难以画出一个复变函数的图象,这也许是拉普拉斯变换比较抽象的原因之一;而另外一个原因,就是拉普拉斯变换中的复频率s没有明确的物理意义。

  关于特征根和复数,建议提问者再去看看书中的定义,应该不难理解。

-----------------------------------------------------------------------------------------------------------

示例图像用32*32像素,16色灰度

问题补充:
void Fft(char d1[][32],char f[][32],char fi[][32]) { int i,j,x,y; char t; for(i=0;i<32;i++) { for(j=0;j<32;i++) { t=pow(-1,i+j)*d1[i][j]; for(x=0;x<32;i++) { for(y=0;y<32;i++) { f[i][j]+=t*cos((2*pi*i*x+2*pi*j*y)/32); fi[i][j]+=t*sin((2*pi*i*x+2*pi*j*y)/32); } } d1[i][j]=sqrt(pow(f[i][j],2)+pow(fi[i][j],2)); putpixel(j,i,d1[i][j]); } } } void lowpass(char f[][32],char fi[][32]) { int i,j,dx; int d0=5; for(i=0;i<32;i++) { for(j=0;j<32;i++) { dx=sqrt(pow(i-16,2)+pow(j-16,2)); if(dx>d0) { f[i][j]=0; fi[i][j]=0; } } } }
原文地址:http://apps.hi.baidu.com/share/detail/859679 尊重原作,嘿嘿

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