图像处理(5)--图像的傅里叶变换

图像处理系列笔记: https://blog.csdn.net/qq_33208851/article/details/95335809


傅里叶变换是一种函数在空间域和频率域的变换,从空间域到频率域的变换是傅里叶变换,而从频率域到空间域是傅里叶的反变换
时域与频域

  • 频域(frequency domain)
    是指在对函数或信号进行分析时,分析其和频率有关部份,而不是和时间有关的部份,和时域一词相对。
  • 时域
    是描述数学函数或物理信号对时间的关系。例如一个信号的时域波形可以表达信号随着时间的变化。若考虑离散时间,时域中的函数或信号,在各个离散时间点的数值均为已知。若考虑连续时间,则函数或信号在任意时间的数值均为已知。在研究时域的信号时,常会用示波器将信号转换为其时域的波形。
  • 两者相互间的变换
    时域(信号对时间的函数)和频域(信号对频率的函数)的变换在数学上是通过积分变换实现。对周期信号可以直接使用傅立叶变换,对非周期信号则要进行周期扩展,使用拉普拉斯变换。

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

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

1. 傅里叶变换及其反变换

1.0 什么是傅里叶变换

  1. 什么是傅里叶变换?
    也称作傅立叶变换,表示能将满足一定条件的某个函数表示成三角函数(正弦和/或余弦函数)或者它们的积分的线性组合。在不同的研究领域,傅立叶变换具有多种不同的变体形式,如连续傅立叶变换和离散傅立叶变换。傅里叶变换是一种分析信号的方法,它可分析信号的成分,也可用这些成分合成信号。许多波形可作为信号的成分,比如正弦波、方波、锯齿波等,傅里叶变换用正弦波作为信号的成分。
    傅里叶变换的实质是将一个信号分离为无穷多多正弦/复指数信号的加成,也就是说,把信号变成正弦信号相加的形式——既然是无穷多个信号相加,那对于非周期信号来说,每个信号的加权应该都是零——但有密度上的差别,你可以对比概率论中的概率密度来思考一下——落到每一个点的概率都是无限小,但这些无限小是有差别的所以,傅里叶变换之后,横坐标即为分离出的正弦信号的频率,纵坐标对应的是加权密度
  2. 傅里叶变换有什么用呢?
    举例说明:傅里叶变换可以将一个时域信号转换成在不同频率下对应的振幅及相位,其频谱就是时域信号在频域下的表现,而反傅里叶变换可以将频谱再转换回时域的信号。最简单最直接的应用就是时频域转换,比如在移动通信的LTE系统中,要把接收的信号从时域变成频域,就需要使用FFT(快速傅里叶变换)。又例如对一个采集到的声音做傅立叶变化就能分出好几个频率的信号。比如南非世界杯时,南非人吹的呜呜主拉的声音太吵了,那么对现场的音频做傅立叶变化(当然是对声音的数据做),会得到一个展开式,然后找出呜呜主拉的特征频率,去掉展开式中的那个频率的sin函数,再还原数据,就得到了没有呜呜主拉的嗡嗡声的现场声音。而对图片的数据做傅立叶,然后增大高频信号的系数就可以提高图像的对比度。同样,相机自动对焦就是通过找图像的高频分量最大的时候,就是对好了。

1.1 为什么要在频率域研究图像增强?

  • 可以利用频率成分和图像外表之间的对应关系。一些在空间域表述困难的增强任务,在频率域中变得非常普通
  • 滤波在频率域更为直观,它可以解释空间域滤波的某些性质
  • 可以在频率域指定滤波器,做反变换,然后在空间域使用结果滤波器作为空间域滤波器的指导
  • 一旦通过频率域试验选择了空间滤波,通常实施都在空间域进行

1.2 傅里叶变换及反转

1.2.1 一维连续傅里叶变换及反变换

单变量连续函数f(x)的傅里叶变换F(u)定义为:
在这里插入图片描述
其中,j = 根号(-1)=±i
给定F(u),通过傅里叶反变换可以得到f(x):
在这里插入图片描述

1.2.2 二维连续傅里叶变换及反变换

二维连续函数f(x,y)的傅里叶变换F(u,v)定义为:
在这里插入图片描述
如果f(x,y)是实函数,它的傅里叶变换是对称的,即

F(u,v) = F(− u,−v)
傅里叶变换的频率谱是对称的
|F(u,v)| =| F(− u,−v)|

给定F(u,v),通过傅里叶反变换可以得到 f(x,y):
在这里插入图片描述

1.2.3 一维离散傅里叶变换及反变换

单变量离散函数f(x)(x=0,1,2,…,M-1)的傅里叶变换F(u)定义为:
在这里插入图片描述
其中,u=0,1,2,…,M-1
从欧拉公式:
在这里插入图片描述
在这里插入图片描述
给定F(u),通过傅里叶反变换可以得到f(x):
在这里插入图片描述
其中,x=0,1,2,…,M-1

1.2.4 二维离散傅里叶变换及反变换

图像尺寸为M×N的函数f(x,y)的DFT为:
在这里插入图片描述
u=0,1,2,…,M-1, v=0,1,2,…,N-1
给出F(u,v),可通过反DFT得到f(x,y):
在这里插入图片描述
x=0,1,2,…,M-1, y=0,1,2,…,N-1
注:u和v是频率变量,x和y是空间域图像变量
F(0,0)表示:
在这里插入图片描述
这说明:假设f(x,y)是一幅图像,在原点的傅里叶变换等于图像的平均灰度级(M*N是总的像素点,f(x,y)是(x,y)点的灰度值,将所有的像素点的灰度值求和然后除以总的个数即为平均灰度值)

1.2.5 傅里叶变换的一维极坐标表示

在这里插入图片描述
幅度或频率谱为:
在这里插入图片描述
R(u)和I(u)分别是F(u)的实部和虚部
相角或相位谱为:
在这里插入图片描述
功率谱为:
在这里插入图片描述
f(x)的离散表示:
在这里插入图片描述
F(u)的离散表示:
在这里插入图片描述

1.2.6 傅里叶变换的二维极坐标表示

二维DFT的极坐标表示:
在这里插入图片描述
幅度或频率谱为:
在这里插入图片描述
R(u,v)和I(u,v)分别是F(u,v)的实部和虚部
相角或相位谱为:
在这里插入图片描述
功率谱为:
在这里插入图片描述
F(u,v)的原点变换:
在这里插入图片描述
用(-1)x+y乘以f(x,y),将F(u,v)原点变换到率坐标下的(M/2,N/2),它是M×N区域的中心
u=0,1,2,…,M-1, v=0,1,2,…,N-1

2. 傅里叶变换的性质

2.1 平移性

以⇔表示函数和其傅里叶变换的对应性
在这里插入图片描述
注:u和v是频率变量,x和y是空间域图像变量
公式(1)表明将f(x,y)与一个指数项相乘就相当于把其变换后的频域中心f(u,v) 移动到新的位置 f(u-uo,v-v0)
公式(2)表明将F(u,v)与一个指数项相乘就相当于把其变换后的空域中心f(x,y) 移动到新的位置 f(x-x0,y-y0)
公式(2)表明对f(x,y)的平移不影响其傅里叶变换的幅值

当u0=M/2且v0=N/2,
在这里插入图片描述
带入(1)和(2),得到
在这里插入图片描述

2.2 分配律

傅里叶变换对加法满足分配律,但对乘法则不满足:
在这里插入图片描述

2.3 尺度变换(缩放)

给定2个标量a和b,可以证明对傅里叶变换下列2个公式成立:
在这里插入图片描述

2.4 旋转性

引入极坐标 x = r cosθ, y = rsinθ,u =ω cosϕ,v =ωsinϕ
将f(x,y)和F(u,v)转换为 f (r,θ ) 和F(ω,ϕ)。将它们带入傅里叶变换对得到:
在这里插入图片描述
f(x,y)旋转角度θ 0,F(u,v)也将转过相同的角度
F(u,v)旋转角度θ 0,f(x,y)也将转过相同的角度

2.5 周期性和共轭对称性

在这里插入图片描述
尽管F(u,v)对无穷多个u和v的值重复出现,但只需根据在任一个周期里的N个值就可以从F(u,v)得到f(x,y)
只需一个周期里的变换就可将F(u,v)在频域里完全确定
同样的结论对f(x,y)在空域也成立

如果f(x,y)是实函数,则它的傅里叶变换具有共轭对称性
在这里插入图片描述
其中,F*(u,v)为F(u,v)的复共轭(当两个复数实部相等,虚部互为相反数时,这两个复数叫做互为共轭复数)

2.6 分离性

在这里插入图片描述
F(x,v)是沿着f(x,y)的一行所进行的傅里叶变换。当x=0,1,…,M-1,沿着f(x,y)的所有行计算傅里叶变换。

二维傅里叶变换的全过程
在这里插入图片描述
 先通过沿输入图像的每一行计算一维变换
 再沿中间结果的每一列计算一维变换
 可以改变上述顺序,即先列后行
 上述相似的过程也可以计算二维傅里叶反变换

2.7 平均值

由二维傅里叶变换的定义:
在这里插入图片描述
所以,
在这里插入图片描述
上式说明:如果f(x,y)是一幅图像,在原点的傅里叶变换即等于图像的平均灰度级

2.8 卷积理论

卷积是空间域过滤和频率域过滤之间的纽带
大小为M×N的两个函数f(x,y)和h(x,y)的离散卷积:
在这里插入图片描述
卷积定理:
在这里插入图片描述

2.9 相关性理论

相关的重要应用在于匹配:确定是否有感兴趣的物体区域
 f(x,y)是原始图像
 h(x,y)作为感兴趣的物体或区域(模板)
 如果匹配,两个函数的相关值会在h找到f中相应点的位置上达到最大
大小为M×N的两个函数f(x,y)和h(x,y)的相关性定义为:
在这里插入图片描述
f* 表示f的复共轭。对于实函数,f*=f
相关定理:
在这里插入图片描述
自相关理论
在这里插入图片描述

3. 快速傅里叶变换(FFT)

采用快速傅里叶变换(FFT)算法能使计算机计算离散傅里叶变换所需要的乘法次数大为减少,特别是被变换的抽样点数N越多,FFT算法计算量的节省就越显著。
函数或信号可以透过一对数学的运算子在时域及频域之间转换。和傅里叶变换作用一样。

3.1 为什么需要快速傅里叶变换?

人们想让计算机能处理信号 但由于信号都是连续的、无限的,计算机不能处理,于是就有了傅里叶级数、傅里叶变换,将信号由时域变到频域,把一个信号变为有很多个不同频率不同幅度的正弦信号组成,这样计算机就能处理了,但又由于傅里叶变换中要用到卷积计算,计算量很大,计算机也算不过来,于是就有了快速傅里叶变换,大大降低了运算量,使得让计算机处理信号成为可能。快速傅里叶变换是傅里叶变换的快速算法而已,主要是能减少运算量和存储开销,对于硬件实现特别有利。
在这里插入图片描述

  • 对u的M个值中的每一个都需进行M次复数乘法(将f(x)与 e− j2πux / M 相乘)和M-1次加法,即复数乘法和加法的次数都正比于M2
  • 快速傅里叶变换(FFT)则只需要Mlog2M次运算
  • FFT算法与原始变换算法的计算量之比是log2M/M,如M=1024≈103,则原始变换算法需要106次计算,而FFT需 要104次计算,FFT与原始变换算法之比是1:100
    只考虑一维的情况,根据傅里叶变换的分离性可知,二维傅里叶变换可由连续2次一维傅里叶变换得到

3.2 FFT算法基本思想

FFT算法基于一个叫做逐次加倍的方法。通过推导将原始傅里叶转换成两个递推公式:
在这里插入图片描述

3.3 FFT公式推导

在这里插入图片描述
假设M的形式是
M = 2n, n为正整数。因此,M可以表示为:M = 2K 。将M=2K带入上式:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
特性:

  • 一个M个点的变换,能够通过将原始表达式分成两个部分来计算
  • 通过计算两个(M/2)个点的变换。得Feven(u)和 Fodd(u)
  • 奇部与偶部之和得到F(u)的前(M/2)个值
  • 奇部与偶部之差得到F(u)的后(M/2)个值。且不需要额外的变换计算

3.4 归纳快速傅立叶变换的思想

(1)通过计算两个单点的DFT,来计算两个点的DFT, (2)通过计算两个双点的DFT,来计算四个点的DFT,…,以此类推
(3)对于任何N=2m的DFT的计算,通过计算两个N/2点的DFT,来计算N个点的DFT

3.5 FFT算法举例

设:有函数f(x),其N = 23 = 8,有:{f(0),f(1),f(2),f(3),f(4),f(5),f(6),f(7)}
计算:
{F(0),F(1),F(2),F(3),F(4),F(5),F(6),F(7)}
解法:
首先分成奇偶两组,有:
{ f(0), f(2), f(4), f(6) }
{ f(1), f(3), f(5), f(7) }
为了利用递推特性,再分成两组,有:
{ f(0), f(4) }, { f(2), f(6) }
{ f(1), f(5) }, { f(3), f(7) }
对输入数据的排序可根据一个简单的位对换规则进行:
如用x表示f(x)的1个自变量值,那么它排序后对应的值可通过把x表示成二进制数并对换各位得到。例如N=23,f(6)排序后为f(3),因为6=1102而0112 =3
把输入数据进行了重新排序,则输出结果是正确的次序。反之不把输入数据进行排序,则输出结果需要重新排序才能得到正确的次序
地址的排序:——按位倒序规则
例如:N = 23 = 8
在这里插入图片描述
2)计算顺序及地址增量:2n, n = 0,1,2…
在这里插入图片描述

4. 傅里叶变换的物理意义

  1. 图像的频率是表征图像中灰度变化剧烈程度的指标,是灰度在平面空间上的梯度(灰度变化得快频率就高,灰度变化得慢频率就低)。如:大面积的沙漠在图像中是一片灰度变化缓慢的区域,对应的频率值很低;而对于地表属性变换剧烈的边缘区域在图像中是一片灰度变化剧烈的区域,对应的频率值较高。傅立叶变换在实际中有非常明显的物理意义,设f是一个能量有限的模拟信号,则其傅立叶变换就表示f的谱。从纯粹的数学意义上看,傅立叶变换是将一个函数转换为一系列周期函数来处理的。从物理效果看,傅立叶变换是将图像从空间域转换到频率域,其逆变换是将图像从频率域转换到空间域。换句话说,傅立叶变换的物理意义是将图像的灰度分布函数变换为图像的频率分布函数,傅立叶逆变换是将图像的频率分布函数变换为灰度分布函数
  2. 傅立叶变换以前,图像(未压缩的位图)是由对在连续空间(现实空间)上的采样得到一系列点的集合,我们习惯用一个二维矩阵表示空间上各点,则图像可由z=f(x,y)来表示。由于空间是三维的,图像是二维的,因此空间中物体在另一个维度上的关系就由梯度来表示,这样我们可以通过观察图像得知物体在三维空间中的对应关系。为什么要提梯度?因为实际上对图像进行二维傅立叶变换得到频谱图,就是图像梯度的分布图,当然频谱图上的各点与图像上各点并不存在一一对应的关系,即使在不移频的情况下也是没有。傅立叶频谱图上我们看到的明暗不一的亮点,实际上图像上某一点与邻域点灰度值差异的强弱,即梯度的大小,也即该点的频率的大小(差异/梯度越大,频率越高,能量越低,在频谱图上就越 暗。差异/梯度越小,频率越低,能量越高,在频谱图上就越 亮。换句话说,频率谱上越亮能量越高,频率越低,图像差异越小/平缓)。一般来讲,梯度大则该点的亮度强,否则该点亮度弱频谱图,也叫功率图
    在这里插入图片描述
    在经过频谱中心化(用(-1)x+y乘以输入的图像函数在这里插入图片描述)后的频谱中,中间最亮的点是最低频率,属于直流分量(DC分量)(当频率为0时,表示直流信号,没有变化。在原点(u,v两个频率域变量均为零)的傅里叶变换即等于图像的平均灰度级,F(0,0)称做频 率谱的直流成分)。越往边外走,频率越高。所以,频谱图中的四个角和X,Y轴的尽头都是高频,如下图:
    在这里插入图片描述

我们首先就可以看出,图像的能量分布,如果频谱图中暗的点数更多,那么实际图像是比较柔和的(因为各点与邻域差异都不大,梯度相对较小),反之,如果频谱图中亮的点数多,那么实际图像一定是尖锐的,边界分明且边界两边像素差异较大的。对频谱移频到原点以后,可以看出图像的频率分布是以原点为圆心,对称分布的。将频谱移频到圆心除了可以清晰地看出图像频率分布以外,还有一个好处,它可以分离出有周期性规律的干扰信号,比如正弦干扰,一副带有正弦干扰,移频到原点的频谱图上可以看出除了中心以外还存在以某一点为中心,对称分布的亮点集合,这个集合就是干扰噪音产生的,这时可以很直观的通过在该位置放置带阻滤波器消除干扰

参考文章:https://blog.csdn.net/EbowTang/article/details/39004979
图像处理系列笔记: https://blog.csdn.net/qq_33208851/article/details/95335809

  • 173
    点赞
  • 1072
    收藏
    觉得还不错? 一键收藏
  • 14
    评论
### 回答1: 基于傅立叶变换的matlab图像处理是一种常见的图像处理方法。傅立叶变换可以将图像从时域转换到频域,从而可以对图像进行频域处理,如滤波、增强等。在matlab中,可以使用fft函数进行傅立叶变换,使用ifft函数进行逆变换。通过对图像进行傅立叶变换,可以得到图像频谱图,通过对频谱图进行处理,可以实现图像的滤波、增强等操作。此外,matlab还提供了一些常用的图像处理函数,如imread、imshow、imwrite等,可以方便地读取、显示和保存图像。 ### 回答2: 傅立叶变换是一种将信号从时域转换到频域的数学方法,它可以将一个信号分解成许多不同频率的正弦波的和。在图像处理中,傅立叶变换也有着很重要的应用,它可以将一幅图像分解为不同的频率和方向的分量,从而实现图像的滤波、压缩、增强等功能。 Matlab是一款广泛应用于科学计算和工程应用领域的软件,其内置了丰富的数学计算和图像处理工具箱,可以很方便地实现基于傅立叶变换的图像处理。 在Matlab中,可以用fft2函数对一幅灰度图像进行二维傅立叶变换,fftshift函数可以将变换结果进行中心化处理。同时,ifft2函数可以对变换结果进行逆变换,得到原始图像。 基于傅立叶变换的图像处理方法主要包括低通滤波、高通滤波、带通滤波、非线性滤波等。其中,低通滤波可以将高频分量滤除,保留图像的低频信息,实现图像模糊、降噪等功能;高通滤波则可以强调图像的细节和边缘信息,实现图像锐化等效果。 在Matlab中,可以使用fft2和ifft2函数实现图像的傅立叶变换和逆变换;同时,还可以使用imfilter等函数实现各种滤波操作。此外,Matlab还提供了丰富的可视化工具,可以方便地观察变换结果和处理效果。 总之,基于傅立叶变换的图像处理方法在Matlab中得到了广泛的应用,其简单、高效、可靠的特点已经成为图像处理领域不可缺少的工具之一。 ### 回答3: 傅立叶变换在图像处理中是一种非常常见的技术,它可以将一幅图像转换为频域中的频谱,并且可以通过操作频谱来完成一些图像处理的效果。 在matlab中,使用FFT函数可以对图像进行傅立叶变换,该函数将图像转换为复数数组,其中实数部分表示图像的水平方向频谱,虚数部分表示竖直方向频谱。通过对这个数组进行变换,可以计算出各个频率在图像中的强弱程度,由此可以得到整张图像频谱图。 对于图像中的傅立叶变换,主要有两种应用。其一是滤波,其主要思想是将某些频率范围内的信号设为0,从而达到抑制或提升某种特殊信号的目的。其二是图像重建,通过将变换后的频谱进行反变换,得到原图像。 另外,傅立叶变换在matlab中还有许多其他的应用,比如特征提取、匹配、变形等,都是在频率域中实现。但由于频率域所涉及的计算较为复杂,因此这类应用还需要深入研究掌握相关技术的知识和技巧。 总的来说,傅立叶变换是一项复杂而强大的技术,对于图像处理有着广泛的应用。在matlab中,通过自带的FFT函数和其他相关函数,我们可以轻松实现各种傅立叶变换的效果,对于图像处理和分析会有很大的帮助。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 14
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值