数字图像处理-傅立叶变换

对于图像频率域的处理是在傅立叶变换基础上的。为了能更好地理解频域滤波等,一定要搞懂傅立叶变换。花了几天时间觉得懂的差不多了,特地用大白话记下来。尤其是我在学习过程中,网上各种博客里抽象的,刚开始看不懂,后来理解的,都用大白话记下来。

以下是个人理解,若有不对之处,烦请各位指正!感谢!

1.傅立叶变换是什么?

傅立叶变换是将时间域转换为频率域的工具。对傅立叶变换详细、简明的说明,强推这篇文章 韩昊-傅里叶分析之掐死教程(完整版)更新于2014.06.06 

2.二维图像的傅立叶变换

首先要知道一幅数字图像的两个域:空间域和频率域。空间域说白了就是一个一个的格子,之前的图像处理方法都是在空间域上完成的(单个像元,相邻像元)。

频率对于声音、光等这种波很好理解,但对于图像这样一个二维信号该怎么理解频率呢?物理上,频率描述的是信号变化的速度。那么图像的频率描述的当然是图像灰度值(像元值,在DEM中是高程值,在遥感影像中是DN值,或者反射率等)变化的速度。

“图像的频率是表征灰度变化剧烈程度的指标,是灰度在平面空间上的梯度”。举个例子,就像平原高度变化平缓,频率低;丘陵高度变化剧烈,一会儿高一会儿低,频率高。在图像上,边缘、噪声等灰度变化剧烈,是高频分量;图像内部灰度变化平缓,低频分量。

因此,在频率域,可以去除噪声,识别边缘。傅立叶变换就是将空间域转换为频率域的工具。利用傅立叶变换可以将图像灰度矩阵变为频度矩阵。频度矩阵中,高频表示细节,低频表示概貌,如果我们只想要概貌,可以过滤掉高频细节。如果想要压缩存储,也可以去除高频分量。

   

                     一马平川(低频)                                                               高低不平(高频)

 2.1 二维傅立叶变换公式

二维傅立叶变换实际上是:
将二维图形f(x,y)分解成一系列平面波的和,其中在x方向角频率是u、在y方向角频率是v的平面波的幅度和相位用F(u,v)表示  灵剑

变换完,中心是两个频率(x,y)都为0(直流分量),越靠近中心,两个方向的频率越低,合成的频率与到中心的距离成正比,所以中心是低频分量,外部是高频分量

我的理解:一个图像大概就像丘陵一样,像元值看作高度。这个‘丘陵’可以由一系列平面波的和组成,平面波有两个频率(x方向,y方向)。(不知道我这样理解准不准确?

傅里叶变换能将图像的不同频率部分按照频率轴分布,由于图像平坦区域构成了图像的大部分内容,故低频成分更多一些,将坐标系原点移到图像中心后,就表现为中心是低频,外围是高频。
 
也可以把原点放在其他地方,但靠近原点的部分肯定是低频成分  尹小二 

越亮(灰度值越高)的位置代表该频率的信号振幅越大

2.2 二维离散傅立叶变换公式

f(x,y)是大小为M*N的图像

此处推荐《数字图像处理的MATLAB》——冈萨勒斯。这本书里有详细介绍

原点两个频率都为0,越靠近原点,频率越低

变换后的结果是复数,为了直观分析,要计算频谱(即幅度,复数的模)。

 

另外,DFT在u,v方向上是无穷周期的,周期由M和N决定。计算时,仅计算一个周期,即仅处理尺寸为M*N的数组。

 二维DFT得到下图的结果

虚线矩形表示周期循环,阴影区域F(u,v)的值包括了4个背靠背的四分之一周期。

在这幅图中阴影部分就代表了,DFT后的频率矩阵。4个点的模(幅度)比中间黑点的模(幅度)大,即四周比中间大。为什么这样我还没搞明白,但是matlab实验后的结果是这样的。可以自己动手选个行列数小的图像试试看。

频谱中心化就是要将四周(低频高幅度)移到中间。如果a = [1  2;3  4],中心化后为[4, 3;2  1]

频谱边缘化就是反过来

 

正弦波,三角函数除了一般的表达形式外,还可以用复数形式(唯一的)表达。参考一参考二

所以,DFT的结果为复数形式,该形式保留的波的所有信息,所以逆DFT可以还原图像信息。

 

了解到的知识差不多就这些,够理解二维图像的傅立叶变换了。下篇写频域滤波。

 

posted @ 2018-03-11 14:58  Laumians  阅读(3291)  评论(0编辑  收藏  举报