图像处理与傅里叶变换原理与运用
傅里叶变换在图像去噪中的应用优化探讨

傅里叶变换在图像去噪中的应用优化探讨图像去噪是数字图像处理领域中的一个重要问题,目的是通过消除图像中的噪声,恢复图像的清晰度和细节。
傅里叶变换作为一种有效的信号处理工具,在图像去噪中被广泛应用。
本文将探讨傅里叶变换在图像去噪中的应用优化方法。
一、傅里叶变换的基本原理傅里叶变换是将一个时域函数转化为其频域表示的一种数学变换方法。
在图像处理中,傅里叶变换可以将图像分解为一系列频率成分。
其基本公式如下:F(u, v) = ∬f(x, y)e^(-i2π(ux+vy))dxdy其中F(u, v)表示频域中的图像,f(x, y)表示时域中的图像。
傅里叶变换将图像从空间域转换到频域,使得频域中不同频率成分的信息可以更清晰地被提取和处理。
二、傅里叶变换在图像去噪中的应用图像去噪是通过去除图像中的噪声来提高图像质量的过程。
传统的图像去噪方法包括均值滤波、中值滤波等。
然而,这些方法往往会模糊图像细节,因此需要一种更加有效的方法来保持图像的清晰度。
傅里叶变换在图像去噪中的应用主要体现在频域滤波上。
通过将图像从空间域转换到频域,可以很容易地对图像进行频域滤波操作。
常见的频域滤波方法包括低通滤波和高通滤波。
低通滤波可以滤除图像中高频成分,从而去除图像中的噪声;高通滤波可以强调图像中的高频成分,使得图像的细节更加清晰。
三、傅里叶变换在图像去噪中的优化方法尽管傅里叶变换在图像去噪中具有广泛应用,但是它也存在一些问题,例如频谱泄漏、边缘模糊等。
为了优化傅里叶变换在图像去噪中的效果,研究人员提出了一些改进方法。
1. 加窗函数加窗函数可以有效缓解频谱泄漏问题。
常见的窗函数包括汉宁窗、汉明窗等。
通过在时域中对图像进行窗函数处理,可以减小傅里叶变换中的泄漏现象,从而提高去噪效果。
2. 频域滤波器设计传统的频域滤波器设计方法主要包括理想滤波器和巴特沃斯滤波器。
然而,这些方法会引入一些额外的问题,如振铃和削波等。
为了解决这些问题,研究人员提出了更加复杂的滤波器设计方法,如维纳滤波器和自适应滤波器。
【数字图像处理】傅里叶变换在图像处理中的应用

【数字图像处理】傅⾥叶变换在图像处理中的应⽤1.理解⼆维傅⾥叶变换的定义1.1⼆维傅⾥叶变换1.2⼆维离散傅⾥叶变换1.3⽤FFT计算⼆维离散傅⾥叶变换1.3图像傅⾥叶变换的物理意义2.⼆维傅⾥叶变换有哪些性质?2.1⼆维离散傅⾥叶变换的性质2.2⼆维离散傅⾥叶变换图像性质3.任给⼀幅图像,对其进⾏⼆维傅⾥叶变换和逆变换4.附录 94.1matlab代码4.2参考⽂献⽬录1.理解⼆维傅⾥叶变换的定义1.1⼆维傅⾥叶变换⼆维Fourier变换:逆变换:1.2⼆维离散傅⾥叶变换⼀个图像尺⼨为M×N的函数的离散傅⾥叶变换由以下等式给出:其中和。
其中变量u和v⽤于确定它们的频率,频域系统是由所张成的坐标系,其中和⽤做(频率)变量。
空间域是由f(x,y)所张成的坐标系。
可以得到频谱系统在频谱图四⾓处沿和⽅向的频谱分量均为0。
离散傅⾥叶逆变换由下式给出:令R和I分别表⽰F的实部和需部,则傅⾥叶频谱,相位⾓,功率谱(幅度)定义如下:1.3⽤FFT计算⼆维离散傅⾥叶变换⼆维离散傅⾥叶变换的定义为:⼆维离散傅⾥叶变换可通过两次⼀维离散傅⾥叶变换来实现:1)作⼀维N点DFT(对每个m做⼀次,共M次)2)作M点的DFT(对每个k做⼀次,共N次)这两次离散傅⾥叶变换都可以⽤快速算法求得,若M和N都是2的幂,则可使⽤基⼆FFT算法,所需要乘法次数为⽽直接计算⼆维离散傅⾥叶变换所需的乘法次数为(M+N)MN,当M和N⽐较⼤时⽤⽤FFT运算,可节约很多运算量。
1.3图像傅⾥叶变换的物理意义图像的频率是表征图像中灰度变化剧烈程度的指标,是灰度在平⾯空间上的梯度。
如:⼤⾯积的沙漠在图像中是⼀⽚灰度变化缓慢的区域,对应的频率值很低;⽽对于地表属性变换剧烈的边缘区域在图像中是⼀⽚灰度变化剧烈的区域,对应的频率值较⾼。
傅⾥叶变换在实际中有⾮常明显的物理意义,设f是⼀个能量有限的模拟信号,则其傅⾥叶变换就表⽰f的频谱。
从纯粹的数学意义上看,傅⾥叶变换是将⼀个函数转换为⼀系列周期函数来处理的。
傅里叶变换在信号处理中的应用

傅里叶变换在信号处理中的应用信号处理是指对信号进行采集、处理和分析的过程,而傅里叶变换是信号处理领域中一种重要的数学工具。
本文将讨论傅里叶变换在信号处理中的应用,并介绍其原理和基本算法。
一、傅里叶变换原理傅里叶变换是数学中一种将时域信号转换为频域信号的方法。
它的核心思想是将一个信号表示成一系列谐波的叠加。
傅里叶变换可以帮助我们分析信号的频谱特性,从而对信号进行更深入的了解和处理。
在数学表示上,傅里叶变换可以表示为以下公式:F(ω) = ∫[−∞, ∞] f(t)e^(−iωt)dt其中,F(ω)表示频域信号,f(t)表示时域信号,ω表示角频率, i是虚数单位。
傅里叶变换将时域信号f(t)变换为频域信号F(ω),通过分析F(ω)可以了解信号的频谱特征。
二、傅里叶变换的算法傅里叶变换有多种算法,如离散傅里叶变换(DFT)、快速傅里叶变换(FFT)等。
这些算法在信号处理中具有广泛的应用。
以快速傅里叶变换为例,它是一种高效的计算傅里叶变换的算法。
FFT算法的核心思想是将傅里叶变换的计算复杂度由O(N^2)降低到O(NlogN),使得快速傅里叶变换在计算机中得到快速的实现。
FFT算法的基本步骤如下:1. 将信号分为偶数点和奇数点。
2. 对偶数点和奇数点分别进行FFT变换。
3. 将两个FFT结果进行合并。
通过FFT算法,可以快速计算出信号的傅里叶变换结果,从而更快地获得信号的频域特性。
三、傅里叶变换的应用傅里叶变换在信号处理中有广泛的应用。
以下是几个常见的应用领域:1. 信号滤波:傅里叶变换可以将信号分解为不同频率的谐波分量,通过对特定频率的谐波分量进行滤波,可以实现对信号的降噪和去除干扰等目的。
2. 音频处理:傅里叶变换可以将音频信号转换为频谱图,通过分析频谱图可以了解音频信号的音调、音高以及音量等特性。
这在音频编码、音乐处理等领域中非常有用。
3. 图像处理:傅里叶变换在图像处理中也有重要的应用。
通过对图像进行傅里叶变换,可以得到图像的频域表示,从而实现图像的滤波、增强和压缩等操作。
图像处理中的傅里叶变换

FFT是DFT的一种高效实现,它广 泛应用于信号处理、图像处理等 领域。
频域和时域的关系
频域
频域是描述信号频率特性的区域,通过傅里叶变换可以将 时域信号转换为频域信号。在频域中,信号的频率成分可 以被分析和处理。
时域
时域是描述信号时间变化的区域,即信号随时间的变化情 况。在时域中,信号的幅度和时间信息可以被分析和处理。
其中n和k都是整数。
计算公式
X(k) = ∑_{n=0}^{N-1} x(n) * W_N^k * n,其中W_N=exp(-
2πi/N)是N次单位根。
性质
DFT是可逆的,即可以通过DFT 的反变换将频域信号转换回时域
信号。
快速傅里叶变换(FFT)
定义
快速傅里叶变换(FFT)是一种高 效计算DFT的算法,它可以将DFT 的计算复杂度从O(N^2)降低到 O(NlogN)。
通过傅里叶变换,我们可以方便地实现图像的滤波操作,去除噪声或突出某些特 征。同时,傅里叶变换还可以用于图像压缩,通过去除高频成分来减小图像数据 量。此外,傅里叶变换还可以用于图像增强和图像识别,提高图像质量和识别准 确率。
PART 02
傅里叶变换的基本原理
离散傅里叶变换(DFT)
定义
离散傅里叶变换(DFT)是一种 将时域信号转换为频域信号的方 法。它将一个有限长度的离散信 号x(n)转换为一个复数序列X(k),
傅里叶变换的物理意义是将图像中的每个像素点的灰度值表 示为一系列正弦波和余弦波的叠加。这些正弦波和余弦波的 频率和幅度可以通过傅里叶变换得到。
通过傅里叶变换,我们可以将图像中的边缘、纹理等高频成 分和背景、平滑区域等低频成分分离出来,从而更好地理解 和处理图像。
图像处理与傅里叶变换原理与运用

图像处理与傅里叶变换1背景傅里叶变换是一个非常复杂的理论,我们在图像处理中集中关注于其傅里叶离散变换离散傅立叶变换(Discre t e Fourie r Transf o rm) 。
1.1离散傅立叶变换图象是由灰度(R GB )组成的二维离散数据矩阵,则对它进行傅立叶变换是离散的傅立叶变换。
对图像数据f (x,y)(x=0,1,… ,M-1; y=0,1,… ,N-1)。
则其离散傅立叶变换定义可表示为:式中,u=0,1,…, M-1;v= 0,1,…, N-1其逆变换为式中,x=0,1,…, M-1;y= 0,1,…, N-1在图象处理中,一般总是选择方形数据,即M=N影像f(x,y)的振幅谱或傅立叶频谱: 相位谱: 能量谱(功率谱) )1(2exp ),(1),(1010∑∑-=-=⎥⎦⎤⎢⎣⎡⎪⎭⎫ ⎝⎛+-=M x N y N vy M ux i y x f MN v u F π)2(2exp ),(1),(1010∑∑-=-=⎥⎦⎤⎢⎣⎡⎪⎭⎫ ⎝⎛+=M u N v N vy M ux i v u F MN y x f π),(),(),(22v u I v u R v u F +=[]),(/),(),(v u R v u I arctg v u =ϕ),(),(),(),(222v u I v u R v u F v u E +==1.2快速傅里叶变化可分离性的优点是二维的傅立叶变换或逆变换由两个连续的一维傅立叶变换变换来实现,对于一个影像f (x,y),可以先沿着其每一列求一维傅立叶变换,再对其每一行再求一维变换正变化逆变换 由于二维的傅立叶变换具有可分离性,故只讨论一维快速傅立叶变换。
正变换逆变换由于计算机进行运算的时间主要取决于所用的乘法的次数。
按照上式进行一维离散由空间域向频率域傅立叶变换时,对于N 个F ∑∑∑∑-=-=-=-=⎥⎦⎤⎢⎣⎡⨯⎥⎦⎤⎢⎣⎡=⎥⎦⎤⎢⎣⎡+=10101010)(2exp ),(1)(2exp ),(1)(2exp ),(1),(N v N u N u N v N vy i v u F N N ux i v u F N N vy ux i v u F NN y x f πππ∑-=⎥⎦⎤⎢⎣⎡-=102exp )(1)(N x N ux i x f N u F π∑∑∑∑-=-=-=-=⎥⎦⎤⎢⎣⎡-⨯⎥⎦⎤⎢⎣⎡-=⎥⎦⎤⎢⎣⎡+-=10101010)(2exp ),(1)(2exp ),(1)(2exp ),(1),(N y N x N x N y N vy i y x f N N ux i y x f NN vy ux i y x f NN v u F πππ∑-=⎥⎦⎤⎢⎣⎡=102exp )(1)(N u N ux i u F N x f π(u)值,中的每一个都要进行N 次运算,运算时间与N 2成正比。
傅立叶光学图像处理技术的研究与应用

傅立叶光学图像处理技术的研究与应用随着科技的不断进步,图像处理技术越来越成熟,其中傅立叶光学图像处理技术是一种十分重要的技术。
傅立叶光学图像处理技术是利用傅立叶光学原理对光学信号进行处理、分析和重构的技术。
这种技术利用光学系统和数字信号处理技术相结合,对图像进行复杂的定量分析和量化处理。
本文将围绕傅立叶光学图像处理技术展开讨论,分析其研究与应用的发展历程,同时探讨其未来的发展方向。
一、傅立叶光学图像处理技术的基本原理傅立叶光学图像处理技术是通过傅立叶变换对图像进行处理的技术,它的基本原理是将图像转换为空间频域的信号,然后对这些信号进行处理。
这个过程包括对原始图像进行预处理,然后对其进行傅立叶变换,将图像转换为其频域信息。
然后,可以对这些频域信息进行滤波或变换后再进行反傅立叶变换,将频域信息转化为空间域信息,获得处理后的图像。
二、傅立叶光学图像处理技术的研究历程傅立叶光学图像处理技术起源于20世纪60年代,当时的科学家们发现,利用傅立叶变换可以对图像进行处理和分析。
在1970年代,科学家们开始将傅立叶光学技术应用于实际的图像处理中,例如医学图像处理等领域。
近年来,随着计算机和现代光学技术的飞速发展,傅立叶光学图像处理技术得到了广泛应用,涉及到图像处理、计算机辅助诊断、流体模拟、计算机视觉等多个领域。
三、傅立叶光学图像处理技术的应用傅立叶光学图像处理技术在医学领域的应用,是其中较为典型的应用之一。
通过傅立叶变换,医生可以对患者的X光透视图进行处理和分析,获得更加准确的肿瘤、疾病的诊断结果,这种技术在医学影像的诊断中得到了广泛的应用。
在工业领域,傅立叶光学图像处理技术也发挥着重要的作用。
例如在机器视觉中,傅立叶光学图像处理技术可以用于高精度的尺寸测量、表面形貌分析、瑕疵检测、质量控制等方面。
此外,在遥感影像的处理中,傅立叶光学图像处理技术也发挥了重要的作用。
四、傅立叶光学图像处理技术的未来发展方向未来,随着计算机和光学技术的不断进步,傅立叶光学图像处理技术有望在更多领域得到广泛应用。
傅里叶变换及其在图像处理中的应用
傅里叶变换及其在数字图像处理中的应用王家硕 学号:1252015一、 Fourier 变换1. 一维连续傅里叶变换设 f (x)为x 的实变函数,如果f (x)满足下面的狄里赫莱条件: (1)具有有限个间隔点。
(2)具有有限个极点。
(3)绝对可积。
则 f (x )的傅里叶变换(Fourier Transformation ,FT )定义为: Fourier 正变换:dt e t f t f f F t j ⎰+∞∞--==ωω)()]([)(;Fourier 逆变换:ωωπωd e f t F f t f t j ⎰∞+∞---==)(21)]([)(1,式中:1-=j ,ω 为频域变量。
f (x )与F (w )构成傅里叶变换对,可以证明傅里叶变换对总是存在的。
由于f (x )为实函数,则它的傅里叶变换F (w )通常是复函数,于是F (w )可写成F (w ) = R (w ) + j I (w ) (1)式中:R (w )和I (w )分别是F (w )的实部和虚部。
公式1可表示为指数形式:式中:F (w ) 为f (x )的傅里叶幅度谱,f (w )为f (x )的相位谱。
2. 二维连续傅里叶变换如果二维函数f (x , y )是连续可积的,即∞<⎰⎰+∞∞-dxdy y x f |),(,且F (u , v )是可积的,则二维连续傅里叶变换对可表示为:dt e y x f v u F t j ⎰⎰+∞∞--+∞∞-=ω),(),(dt e v u F y x F t j ⎰⎰∞+∞-∞+∞-=ω),(),(对于图像 f (x, y),F(u, v)是它的频谱。
变量u 是对应于x 轴的空间频率,变量v 是对应于y 轴的空间频率,与在一维的情况类似,可定义二维傅里叶变换的幅度谱和相位谱为:3.一维离散傅里叶变换对一个连续函数f (x)等间隔采样可得到一个离散序列。
设共采样N个,则这个离散序列可表示为{ f (0), f (1), f (2), , f (N -1)}。
傅立叶变换原理及其在数字图像处理中的应用_百度文库
铁路航测2000年第3期4傅立叶变换原理及其在数字图像处理中的应用彭仪普(长沙铁道学院)提要介绍了傅立叶变换在数字图像处理中的重要地位和应用,分析了其变换原理。
用面向对象、结构化的Delphi软件实现了其变换功能,程序设计简洁明了、界面友好、运行结果高效准确。
关键词数字图像处理傅立叶变换(FT)离散傅立叶变换(DFT)快速傅立叶变换(FFT)快速傅立叶反变换(IFFT)Delphi1前言数字图像处理技术是近年来蓬勃发展的一门新兴学科,在数字摄影测量、遥感图像处理、地理信息系统中应用广泛。
而傅立叶变换(FT)是数字图像处理技术的基础,其通过在时空域和频率域来回切换图像,对图像的信息特征进行提取和分析,简化了计算工作量,被喻为描述图像信息的第二种语言,广泛应用于图像变换、图像编码与压缩、图像分割、图像重建中。
因此,对涉及数字图像处理的工作者,深入研究和掌握傅立叶变换及其扩展形式的特性,是很有价值的。
2傅立叶变换(FT)原理(1)一维离散傅立叶变换(DFT)设f(x)为输入离散序列,F(u)为f(x)的离散傅立叶变换,则正变换为F(u)=1/反变换为N-1uxN x f(x) WN=0N-1傅立叶变换权函数。
通过上面的算式可看出,获得每一个u的计算量都大得惊人,其时间复杂性为O(N2),因而在实时性要求较强的系统中,几乎没有实用价值。
但考察权函数WN,其具有(u+N)周期性:WxN=WxuNu* 对称性:W(NN-x)u=(WxN)WN(u-N/2)=-WNu*其中(WxuN)为WxuN的共轭复数。
这样,我们就能以权函数WN这两个固有性质为基础,对f(x)序列作一些适当变换,将一个较大的N分解成若干个较小的N,使整个傅立叶变换的计算过程变成一系列的迭代过程,就能大大减少运算次数,提高运算效率,此即快速傅立叶变换(FFT)的基本思想。
(2)一维快速傅立叶变换(FFT)实际工作中,均采用快速傅立叶变换。
一维FFT算法主要有按时间抽取的和按频率抽取的基2FFT算法,它们都要求输入序列长度N 为2的整数次方,实现过程均存在对称性(其算法思路描述略)。
傅里叶变换在信号处理中的应用
傅里叶变换在信号处理中的应用概述傅里叶变换是一种重要的数学工具,广泛应用于信号处理领域。
通过将信号从时域转换到频域,傅里叶变换可以帮助我们了解信号的频率特性,从而对信号进行分析和处理。
本文将介绍傅里叶变换的基本原理,并探讨其在信号处理中的几个常见应用。
1. 傅里叶变换的基本原理傅里叶变换是将一个连续时间域的信号转换到连续频率域的过程。
其基本原理可以用以下公式表示:X(f) = ∫[x(t) * exp(-j2πft)] dt其中,X(f)表示信号的频谱,x(t)表示信号在时域的表示,f表示频率,j是虚数单位。
通过将信号分解为多个频率成分,傅里叶变换可以使我们更好地理解信号的频率分布情况。
2. 傅里叶级数和离散傅里叶变换傅里叶级数是傅里叶变换在周期信号上的应用。
它将周期信号表示为一系列正弦波的叠加。
傅里叶级数的表示形式为:x(t) = Σ[Cn * exp(j2πnft)]其中,Cn为信号的频谱系数,它描述了信号在各个频率分量上的能量大小。
通过计算每个频率分量的系数,我们可以还原出原始的周期信号。
离散傅里叶变换是傅里叶变换在离散信号上的应用。
它将离散信号转化为离散频率信号。
离散傅里叶变换的计算公式为:X(k) = Σ[x(n) * exp(-j2πnk/N)]其中,X(k)为信号的频谱,x(n)为离散信号的值,N为信号的长度。
通过离散傅里叶变换,我们可以分析离散信号的频谱特性。
3. 傅里叶变换在滤波中的应用滤波是信号处理中常见的操作,用于去除信号中的噪声或不需要的频率成分。
傅里叶变换在滤波中有着重要的应用。
我们可以通过分析信号的频谱,并根据需求选择性地去除特定频率分量,从而实现信号的滤波。
4. 傅里叶变换在图像处理中的应用傅里叶变换在图像处理领域也有着广泛的应用。
通过将图像转换到频域,我们可以分析图像的频率特征,进而实现图像的增强、去噪等操作。
例如,可以通过高通滤波器来增强图像的边缘信息,或者通过低通滤波器来去除图像中的高频噪声。
傅里叶变换在图像处理中的应用研究 精品
傅里叶变换在图像处理中的应用研究1.引言近年来,随着电子技术、图像处理方法和信号理论的迅猛发展,数字图像处理技术得到飞速发展,它广泛应用于几乎所有与成像有关的领域。
传统的光学系统在信号处理时,存有它自身很难克服的不足:第一,它对空间频谱平面的处理很难,尤其在低频和甚低频时,即使可通过大量仪器来实现,但代价往往很高;第二,光学处理由于采样孔径(即传感单元)太窄而不能起到抗混叠作用,不能除去高频信息。
而傅里叶变换和线性移不变系统有紧密联系,它有一个很好的理论背景来指导它在图像处理中的作用,可以方便有效地克服上述不足,使其在数字图像处理中占有一席之地。
2.图像处理技术2.1 模拟图像处理(Analog image processing);模拟处理包括:光学处理(利用透镜)和电子处理,如:照相、遥感图像处理、电视信号处理等,电视图像是模拟信号处理的典型例子,它处理的是活动图像,25帧/秒。
优点:模拟图像处理的特点是速度快,一般为实时处理,理论上讲可达到光的速度,并可同时并行处理。
缺点:模拟图像处理的缺点是精度较差,灵活性差,很难有判断能力和非线性处理能力。
2.2数字图像处理(Digital Image processing ):数字图像处理一般都用计算机处理,因此也称之谓计算机图像处理(puter Image processing )优点:处理精度高,处理内容丰富,可进行复杂的非线性处理,有灵活的变通能力,一般来说只要改变软件就可以改变处理内容。
缺点:处理速度还是一个问题,特别是进行复杂的处理更是如此。
其次是分辨率及精度尚有一定限制。
2.2.1 数字图像处理的主要方法A 、空域法:这种方法是把图像看作是平面中各个像素组成的集合,然后直接对这一二维函数进行相应的处理。
空域处理法主要有两大类:B 、变换域法:数字图像处理的变换域处理方法是首先对图像进行正交变换,得到变换域系数阵列,然后再施行各种处理,处理后再反变换到空间域,得到处理结果。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
图像处理与傅里叶变换1背景傅里叶变换是一个非常复杂的理论,我们在图像处理中集中关注于其傅里叶离散变换离散傅立叶变换(Discrete Fourier Transform) 。
1.1离散傅立叶变换图象是由灰度(RGB )组成的二维离散数据矩阵,则对它进行傅立叶变换是离散的傅立叶变换。
对图像数据f(x,y)(x=0,1,… ,M-1; y=0,1,… ,N-1)。
则其离散傅立叶变换定义可表示为:式中,u=0,1,…, M-1;v= 0,1,…, N-1 其逆变换为式中,x=0,1,…, M-1;y= 0,1,…, N-1在图象处理中,一般总是选择方形数据,即M=N影像f(x,y)的振幅谱或傅立叶频谱: 相位谱:能量谱(功率谱) )1(2exp ),(1),(101∑∑-=-=⎥⎦⎤⎢⎣⎡⎪⎭⎫ ⎝⎛+-=M x N y N vy M uxi y x f MNv u F π)2(2exp ),(1),(101∑∑-=-=⎥⎦⎤⎢⎣⎡⎪⎭⎫ ⎝⎛+=M u N v N vy M uxi v u F MNy x f π),(),(),(22v u I v u R v u F +=[]),(/),(),(v u R v u I arctg v u =ϕ),(),(),(),(222v u I v u R v u F v u E +==1.2快速傅里叶变化可分离性的优点是二维的傅立叶变换或逆变换由两个连续的一维傅立叶变换变换来实现,对于一个影像f(x,y),可以先沿着其每一列求一维傅立叶变换,再对其每一行再求一维变换正变化逆变换由于二维的傅立叶变换具有可分离性,故只讨论一维快速傅立叶变换。
正变换 逆变换由于计算机进行运算的时间主要取决于所用的乘法的次数。
按照上式进行一维离散由空间域向频率域傅立叶变换时,对于N 个F∑∑∑∑-=-=-=-=⎥⎦⎤⎢⎣⎡⨯⎥⎦⎤⎢⎣⎡=⎥⎦⎤⎢⎣⎡+=110101)(2exp ),(1)(2exp ),(1)(2exp ),(1),(N v N u N u N v N vy i v u F NN ux i v u F N N vy ux i v u F NNy x f πππ∑-=⎥⎦⎤⎢⎣⎡-=12exp )(1)(N x N ux i x f Nu F π∑∑∑∑-=-=-=-=⎥⎦⎤⎢⎣⎡-⨯⎥⎦⎤⎢⎣⎡-=⎥⎦⎤⎢⎣⎡+-=11101)(2exp ),(1)(2exp ),(1)(2exp ),(1),(N y N x N x N y N vy i y x f NN ux i y x f NN vy ux i y x f NNv u F πππ∑-=⎥⎦⎤⎢⎣⎡=12exp )(1)(N u N ux i u F Nx f π(u)值,中的每一个都要进行N 次运算,运算时间与N 2成正比。
1965年库里-图基( Cooly-Tudey)提出将运算操作降到Nlog 2N 数量级的算法,即N 可以分解为一些较小整数的乘积,当N 为2的幂(即N=2P ,其中P 是整数时),效率最高,实现起来也最简单。
这就是快速傅立叶变换。
1.3关于基图像(频率矩形)由二维离散傅里叶反变换式。
可知,由于u 和v 均有0,1,…,N-1的N 个可能的取值,所以f(x,y)由N 2个频率分量组成,所以每个频率分量都与一个特定的(u,v)值相对应;且对于某个特定的(u,v)值来说,当(x,y)取遍所有可能的值(x=0,1,…,N-1;y=0,1,…,N-1)时,就可得到对应于该特定的(u,v)值的一幅基图像。
基图像可表示为。
所以,一幅图像的灰度平均值可由DFT 在原点处的值求得⎥⎥⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎢⎢⎣⎡-+-+-+--+++-+++=)])1()1((2exp[)]1)1((2exp[)]0)1((2exp[)])1(1(2exp[)]11(2exp[)]01(2exp[)])1(0(2exp[)]10(2exp[)]00(2exp[12,N v N u N j N vu N j N v u N j Nv N u j N v u j N v u j NvN u j N v u j N v u j N f vu πππππππππ证明周期性与共轭对称性F(u,v)=F(u+mM,v+Nn) F(u,v)=F(-u,-v)也就是说,图3.7的频谱图(a)和(b)实质上是函数的傅里叶频谱图。
1.3运用1.3.1频率滤波在频域中,频率越大说明原始信号变化速度越快;频率越小说明原始信号越平缓。
当频率为0时,表示直流信号,没有变化。
因此,频率的大小反应了信号的变化快慢。
高频分量解释信号的突变部分,而低频分量决定信号的整体形象。
在图像处理中,频域反应了图像在空域灰度变化剧烈程度,也就是图像灰度的变化速度,也就是图像的梯度大小。
对图像而言,图像的边缘部分是突变部分,变化较快,因此反应在频域上是高频分量;)2/,2/()1(),()(N v M u F y x f y x --⇔-⋅+图像的噪声大部分情况下是高频部分;图像平缓变化部分则为低频分量。
也就是说,傅立叶变换提供另外一个角度来观察图像,可以将图像从灰度分布转化到频率分布上来观察图像的特征。
书面一点说就是,傅里叶变换提供了一条从空域到频率自由转换的途径。
对图像处理而言,以下概念非常的重要:图像高频分量:图像突变部分;在某些情况下指图像边缘信息,某些情况下指噪声,更多是两者的混合;低频分量:图像变化平缓的部分,也就是图像轮廓信息高通滤波器:让图像使低频分量抑制,高频分量通过低通滤波器:与高通相反,让图像使高频分量抑制,低频分量通过带通滤波器:使图像在某一部分的频率信息通过,其他过低或过高都抑制模板运算与卷积定理在时域内做模板运算,实际上就是对图像进行卷积。
模板运算是图像处理一个很重要的处理过程,很多图像处理过程,比如增强/去噪(这两个分不清楚),边缘检测中普遍用到。
根据卷积定理,时域卷积等价与频域乘积。
因此,在时域内对图像做模板运算就等效于在频域内对图像做滤波处理。
比如说一个均值模板,其频域响应为一个低通滤波器;在时域内对图像作均值滤波就等效于在频域内对图像用均值模板的频域响应对图像的频域响应作一个低通滤波。
1.3.2图像去噪图像去噪就是压制图像的噪音部分。
因此,如果噪音是高频额,从频域的角度来看,就是需要用一个低通滤波器对图像进行处理。
通过低通滤波器可以抑制图像的高频分量。
但是这种情况下常常会造成边缘信息的抑制。
常见的去噪模板有均值模板,高斯模板等。
这两种滤波器都是在局部区域抑制图像的高频分量,模糊图像边缘的同时也抑制了噪声。
还有一种非线性滤波-中值滤波器。
中值滤波器对脉冲型噪声有很好的去掉。
因为脉冲点都是突变的点,排序以后输出中值,那么那些最大点和最小点就可以去掉了。
中值滤波对高斯噪音效果较差。
椒盐噪声:对于椒盐采用中值滤波可以很好的去除。
用均值也可以取得一定的效果,但是会引起边缘的模糊。
高斯白噪声:白噪音在整个频域的都有分布,好像比较困难。
冈萨雷斯版图像处理P185:算术均值滤波器和几何均值滤波器(尤其是后者)更适合于处理高斯或者均匀的随机噪声。
谐波均值滤波器更适合于处理脉冲噪声。
1.3.3图像增强有时候感觉图像增强与图像去噪是一对矛盾的过程,图像增强经常是需要增强图像的边缘,以获得更好的显示效果,这就需要增加图像的高频分量。
而图像去噪是为了消除图像的噪音,也就是需要抑制高频分量。
有时候这两个又是指类似的事情。
比如说,消除噪音的同时图像的显示效果显著的提升了,那么,这时候就是同样的意思了。
常见的图像增强方法有对比度拉伸,直方图均衡化,图像锐化等。
前面两个是在空域进行基于像素点的变换,后面一个是在频域处理。
我理解的锐化就是直接在图像上加上图像高通滤波后的分量,也就是图像的边缘效果。
对比度拉伸和直方图均衡化都是为了提高图像的对比度,也就是使图像看起来差异更明显一些,我想,经过这样的处理以后,图像也应该增强了图像的高频分量,使得图像的细节上差异更大。
同时也引入了一些噪音。
1.4实现在MATLAB中F=imread(filename);F=fft2(f,P,Q);%完成FFT变换FC=fftshift(F):%实现居中S=abs(F(或Fc));%取得傅里叶频谱f=real(ifft2(F));%实现傅里叶逆变换基于OPENCV库#include <stdio.h>#include <cv.h>#include <c xcore.h>#include <highgui.h>/**************************************************************** **********//src IPL_DEPTH_8U//dst IPL_DEPTH_64F***************************************************************** *********///傅里叶正变换void fft2(IplImage *src, IplImage *dst){ //实部、虚部IplImage *image_Re = 0, *im age_Im = 0, *Fourier = 0;// int i, j;im age_Re = cvCreateIm age(cvGetSize(src), IPL_DEPTH_64F, 1); //实部//Im aginary partim age_Im = cvCreateImage(cvGetSize(src), IPL_DEPTH_64F, 1); //虚部//2 channels (image_Re, image_Im)Fourier = cvCreateImage(cvGetSize(src), IPL_DEPTH_64F, 2);// Real part conversion from u8 to 64f (double)cvConvertScale(src, im age_Re, 1, 0);// Im aginary part (zeros)cvZero(im age_Im);// Join real and imaginary parts and stock them in Fourier imagecvMerge(im age_Re, image_Im, 0, 0, Fourier);// Application of the forward Fourier transformcvDFT(Fourier, dst, CV_DXT_FORWARD);cvReleaseImage(&image_Re);cvReleaseImage(&image_Im);cvReleaseImage(&Fourier);}/**************************************************************** **********//src IPL_DEPTH_64F//dst IPL_DEPTH_8U***************************************************************** *********/void fft2shift(IplImage *src, IplImage *dst){IplImage *image_Re = 0, *image_Im = 0;int nRow, nCol, i, j, cy, cx;double scale, shift, tmp13, tmp24;image_Re = cvCreateImage(cvGetSize(src), IPL_DEPTH_64F, 1);//Imaginary partimage_Im = cvCreateImage(cvGetSize(src), IPL_DEPTH_64F, 1);cvSplit( src, im age_Re, image_Im, 0, 0 );//具体原理见冈萨雷斯数字图像处理p123// Com pute the m agnitude of the spectrum Mag = sqrt(Re^2 + Im^2)//计算傅里叶谱cvPow( im age_Re, image_Re, 2.0);cvPow( im age_Im, image_Im, 2.0);cvAdd( im age_Re, image_Im, image_Re);cvPow( im age_Re, image_Re, 0.5 );//对数变换以增强灰度级细节(这种变换使以窄带低灰度输入图像值映射//一宽带输出值,具体可见冈萨雷斯数字图像处理p62)// Com pute log(1 + Mag);cvAddS( im age_Re, cvScalar(1.0), image_Re ); // 1 + MagcvLog( im age_Re, image_Re ); // log(1 + Mag)//Rearrange the quadrants of Fourier image so that the origin is at the im age centernRow = src->height;nCol = src->width;cy = nRow/2; // image centercx = nCol/2;//CV_IMAGE_ELEM为OpenCV定义的宏,用来读取图像的像素值,这一部分就是进行中心变换for( j = 0; j < cy; j++ ){for( i = 0; i < cx; i++ ){//中心化,将整体份成四块进行对角交换tmp13 = CV_IMAGE_ELEM( image_Re, double, j, i);CV_IMAGE_ELEM( image_Re, double, j, i) = CV_IMAGE_ELEM(im age_Re, double, j+cy, i+c x);CV_IMAGE_ELEM( image_Re, double, j+cy, i+cx) = t m p13;tmp24 = CV_IMAGE_ELEM( image_Re, double, j, i+cx);CV_IMAGE_ELEM( image_Re, double, j, i+c x) =CV_IMAGE_ELEM( image_Re, double, j+cy, i);CV_IMAGE_ELEM( image_Re, double, j+cy, i) = t m p24;}}//归一化处理将矩阵的元素值归一为[0,255]//[(f(x,y)-minVal)/(maxVal-minVal)]*255double minVal = 0, m axVal = 0;// Localize minimum and m aximum valuescvMinMaxLoc( im age_Re, &minVal, &maxVal );// Normalize image (0 - 255) to be observed as an u8 imagescale = 255/(maxVal - minVal);shift = -minVal * scale;cvConvertScale(image_Re, dst, scale, shift);cvReleaseImage(&image_Re);cvReleaseImage(&image_Im);}/**************************************************************** *******/int m ain(){IplImage *src; //源图像IplImage *Fourier; //傅里叶系数IplImage *dst ;IplImage *ImageRe;IplImage *ImageIm;IplImage *Image;IplImage *ImageDst;double m,M;double scale;double shift;src = cvLoadImage("D:\\main.jpg",0); //加载源图像,第二个参数表示将输入的图片转为单信道Fourier = cvCreateImage(cvGetSize(src),IPL_DEPT H_64F,2);dst = cvCreateIm age(cvGetSize(src),IPL_DEPTH_64F,2);ImageRe = cvCreateImage(cvGetSize(src),IPL_DEPT H_64F,1);ImageIm = cvCreateIm age(cvGetSize(src),IPL_DEPTH_64F,1);Image = cvCreateImage(cvGetSize(src),src->depth,src->nChannels);ImageDst = cvCreateIm age(cvGetSize(src),src->depth,src->nChannels);fft2(src,Fourier); //傅里叶变换fft2shift(Fourier, Image); //中心化cvDFT(Fourier,dst,CV_DXT_INV_SCALE);//实现傅里叶逆变换,并对结果进行缩放cvSplit(dst,Im ageRe,ImageIm,0,0);cvNam edWindow("源图像",0);cvShowIm age("源图像",src);//对数组每个元素平方并存储在第二个参数中cvPow(Im ageRe,Im ageRe,2);cvPow(Im ageIm,ImageIm,2);cvAdd(Im ageRe,ImageIm,ImageRe,NULL);cvPow(Im ageRe,Im ageRe,0.5);cvMinMaxLoc(Im ageRe,&m,&M,NULL,NULL);scale = 255/(M - m);shift = -m * scale;//将shift加在ImageRe各元素按比例缩放的结果上,存储为ImageDst cvConvertScale(Im ageRe,ImageDst,scale,shift);cvNam edWindow("傅里叶谱",0);cvShowIm age("傅里叶谱",Image);cvNam edWindow("傅里叶逆变换",0);cvShowIm age("傅里叶逆变换",ImageDst);//释放图像cvWaitKey(10000); cvReleaseImage(&src); cvReleaseImage(&Image); cvReleaseImage(&ImageIm); cvReleaseImage(&ImageRe); cvReleaseImage(&Fourier); cvReleaseImage(&dst); cvReleaseImage(&ImageDst); return 0;}。