傅立叶变换在图像处理中的作用
摘要:本文首先简述了傅立叶变换的原理及应用领域,介绍了傅立叶变换在数字图象处理中的重要地位和应用,分析了其变换的数学原理和方法,特别着重的是二维傅立叶变换和FFT(快速傅立叶变换)的原理,然后介绍了Matlab 软件,分析了Matlab 的好处,及其在数字图像处理和傅立叶变换计算上的使用,编出程序实现了其变换功能,给出了应用于图象压缩和图像去噪的实例。
关键词: 图象处理 傅立叶变换 Matlab
正文
傅里叶变换是将时域信号分解为不同频率的正弦信号或余弦函数叠加之和。
傅立叶变换是数字图像处理技术的基础,其通过在时空域和频率域来回切换图像,对图像的信息特征进行提取和分析,简化了计算工作量,被喻为描述图像信息的第二种语言,广泛应用于图像变换,图像编码与压缩,图像分割,图像重建等。
因此,对涉及数字图像处理的工作者,深入研究和掌握傅立叶变换及其扩展形式的特性,是很有价值得。
把傅立叶变换的理论通其物理解释相结合,将有助于解决大多数图像处理问题。
傅里叶变换可分为连续傅里叶变换、离散傅里叶变换、快速傅里叶变换。
3.1.1 连续傅里叶变换
函数f(x)的傅里叶变换存在的条件是满足狄里赫莱条件,即:
1)具有有限个间断点;
2)具有有限个极值点;
3)绝对可积。
(1)一维连续傅里叶变换及反变换:
单变量连续函数f(x)的傅里叶变换F(u)定义为:
dx e x f u F ux j ⎰
∞∞--=π2)()( 其中12-=j ,x 称为时域变量,u 为频率变量。
当给定F(u),通过傅里叶反变换可以得到f(x)
du e u F x f ux j ⎰∞
∞-=π2)()( (2)二维连续傅里叶变换及反变换:
二维连续函数f(x,y)的傅里叶变换F(u,v) 定义为:
dxdy e y x f v u F vy ux j )(2),(),(+-∞
∞-∞∞-⎰⎰=π
x,y 为时域变量,u,v 为频域变量。
当给定F(u,v),通过傅里叶反变换可以得到f(x,y):
dudv e v u F y x f vy ux j )(2),(),(+∞
∞-∞∞-⎰⎰=π
3.1.2 离散傅里叶变换
连续函数的傅里叶变换是连续波形分析的有力工具,但要把傅里叶变换应用到数字图像处理中,就必须要处理离散数据,而离散傅里叶变换(Discrete Fourier Transform ,DFT )的提出使得这种数学方法能够和计算机技术联系起来。
(1)一维离散傅里叶变换及反变换:
单变量离散函数f(x)(x=0,1,2,…,M-1)的傅里叶变换F(u)定义为:
∑-=-=10/2)(1)(M x M ux j e x f M u F π
u=0,1,2,…,M-1
当给定F(u),通过傅里叶反变换可以得到f(x)
∑-==10/2)(1)(M u M ux j e u F M x f π
x=0,1,2,…,M-1
由欧拉公式 θθθsin cos j e j += 有:
∑-=-=10/)2()(1)(M x M ux j e x f M
u F π )/)2sin(/)2(cos()(110M ux j M ux x f M
M x ππ-+-=∑-= )/2sin /2(cos )(110M ux j M ux x f M M x ππ-=∑-=
(2)二维离散傅里叶变换及反变换:
图像尺寸为M ⨯N 的函数f(x,y)的DFT 为:
)//(21010),(1),(N vy M ux j M x N y e y x f MN v u F +--=-=∑∑=π
其中u=0,1,2,…,M-1, v=0,1,2,…,N-1;u 和v 是频率变量,x 和y 是空间或图像变量。
当给定F(u,v),通过傅里叶反变换可以得到f(x,y):
)//(2101
),(),(N vy M ux j M u N v e v u F y x f +-=-=∑∑=π 其中x=0,1,2,…,M-1, y=0,1,2,…,N-1;u 和v 是频率变量,x 和y 是空间或图像变量。
3.1.3 快速傅里叶变换
快速傅里叶变换(FFT)是计算离散傅里叶变换(DFT)的快速算法。
离散傅里叶变换运算量巨大,计算时间长,即运算时间很长。
而快速傅里叶变换的提出将傅里叶变换的复杂度由降到了,很大程度上减少了计算量。
∑-==1202)(21)(M x ux M W x f M
u F ∑∑-=+-=++=10)12(210)2(2})12(1)2(1{21M x x u M M x x u M W x f M W x f M
令∑-==10)2(1)(M x ux M e W x f M
u F ,∑-=+=10)12(1)(M x ux M o W x f M u F ,u=0,1,2,…,M-1 则[]u M o e W u F u F u F 2)()(21)(+=,[]
u M o e W u F u F M u F 2)()(21)(-=+ 3.2 傅立叶变换在图像处理中的重要作用:
1. 图像增强与图像去噪
绝大部分噪音都是图像的高频分量,通过低通滤波器来滤除高频——噪声;边缘也是图像的高频分量,可以通过添加高频分量来增强原始图像的边缘;
2. 图像分割之边缘检测
提取图像高频分量
3. 图像特征提取:
形状特征:傅里叶描述子
纹理特征:直接通过傅里叶系数来计算纹理特征
其他特征:将提取的特征值进行傅里叶变换来使特征具有平移、伸缩、旋转不变性
4. 图像压缩
可以直接通过傅里叶系数来压缩数据;常用的离散余弦变换是傅立叶变换的实变换;
3.3 Matlab软件
Matlab是一种科学计算软件,专门以矩阵的形式处理数据。
MA TLAB 将高性能的数值计算和可视化集成在一起,构成了一个方便的、界面友好的用户环境,并提供了大量的内置函数。
从而被广泛地应用于科学计算、控制系统、信息处理、神经网络、图像处理、小波分析等领域的分析、仿真和设计工作,而且利用MA TLAB 产品的开放式结构,可以非常容易地对MATLAB 的功能进行扩充,从而在不断深化对问题认识的同时,不断完善MATLAB 产品以提高产品自身的竞争能力。
MA TLAB中的数字图像是以矩阵形式表示的,这意味着MATLAB 强大的矩阵运算能力用于图像处理非常有利,矩阵运算的语法对MA TLAB中的数字图像同样适用。
MA TLAB图像处理工具箱支持四种图像类型,分别为真彩色图像、索引色图像、灰度图像、二值图像,由于有的函数对图像类型有限制,这四种类型可以用工具箱的类型转换函数相互转换。
MATLAB可操作的图像文件包括BMP、HDF、JPEG、PCX、TIFF、XWD等格式。
3.4 基于Matlab的图像傅里叶变换实例分析
实例1:图像压缩
对一副灰度图像而言,先对行进行DCT变换,然后对列进行DCT变换,其变换结果的能量
将主要集中在左上角的位置,即低频部分。
%DCT
%图像压缩
X=imread('rice.tif');%读取8bit的灰度图像
figure(1);
imshow(X);
%DCT变换
X2=imresize(X,0.0625);%缩小
Y=dct(X2);
%结果输出
figure(2);
mesh(Y);
colormap(jet);
colorbar;
实例2:图像去噪
%图像抑噪
X=imread('rice.tif');
[m,n]=size(X);%读取图像尺寸
Xnoised=imnoise(X,'speckle',0.01);
figure(1);%输出加噪图像
imshow(Xnoised);
Y=dct2(Xnoised);
I=zeros(m,n);
I(1:m/3,1:n/3)=1;%高频屏蔽
Ydct=Y.*I;
Y=uint8(idct2(Ydct));
figure(2);
imshow(Y);
总结
数字图像处理技术是近年来蓬勃发展的一门新兴学科,在数字摄影测量,遥感图像处理,地理信息系统中得到应用广泛。
傅立叶变换是线性系统分析的一个有力工具,它使我们能够定量地分析诸如数字化系统,采样点,电子放大器,卷积滤波器,噪声,显示点等地作用(效应)。
傅立叶变换(FT)是数字图像处理技术的基础,其通过在时空域和频率域来回切换图像,对图像的信息特征进行提取和分析,简化了计算工作量,被喻为描述图像信息的第二种语言,广泛应用于图像变换,图像编码与压缩,图像分割,图像重建等。
MA TLAB语言简洁,可读性强,工具箱涉及的专业领域广泛且功能强大。
因此,基于Matlab的图像傅里叶变换具有很强的实用性。
参考文献:
【1】吕乃光编著,傅立叶光学,机械工业出版社
【2】陈杨陈荣娟,郭颖挥等编著,MATLAB6.x 图形编程与图像处理,西安电子科技大学出版社
【3】Kenneth R castlman , Digital Image Processing, PRENTtCE HALL
【4】王晓丹,吴崇明编著. 基于MA TLAB的系统分析与设计•5, 图像处理,西安电子科技大学出版社
【5】William K Pratt , Digital Image Processing
【6】阮秋琦编著,数字图像处理学,电子工业出版社。