前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >一文读懂傅立叶变换处理图像的原理

一文读懂傅立叶变换处理图像的原理

作者头像
小白学视觉
发布于 2024-12-23 06:27:28
发布于 2024-12-23 06:27:28
2740
举报

图 (a): (从左到右) (1) 原始图片 (2) 使用高斯低通滤波器 (3) 使用高斯高通滤波器. 本文中的原始图像来自OpenCV Github示例。

数字图像现在已经成为我们日常生活的一部分。因此,数字图像处理变得越来越重要。如何提高图像的分辨率或降低图像的噪声一直是人们热门话题。傅里叶变换可以帮助我们解决这个问题。我们可以使用傅立叶变换将灰度像素模式的图像信息转换成频域并做进一步的处理。

今天,我将讨论在数字图像处理中,如何使用快速傅立叶变换,以及在Python中如何实现它。操作流程如下 (从左到右):

图(b)

1. 实现快速傅立叶变换,将灰度图像转换为频域

2. 零频域部分的可视化与集中

3. 应用低/高通滤波器过滤频率

4. 离散

5. 实现快速傅里叶逆变换生成图像数据

让我们深入到每一部分,找出这些步骤背后的理论。

快速傅里叶逆变换

图 (c): (从左到右) (1)原始图像 (2) FFT 频谱的可视化输出 (3) 集中化 (4) 离散化 (5) 逆向FFT

与现实生活中的光波和声波不同,由于像素的不连续性,数字图像是离散的。这意味着我们应该实现离散傅立叶变换(DFT)而不是傅立叶变换。然而,离散傅立叶变换(DFT)常常太慢而不实用,这就是我选择快速傅立叶变换(FFT)进行数字图像处理的原因。

第一步:计算二维快速傅里叶变换。

快速傅立叶变换(FFT)处理的结果是一个很难直接可视化的复数数组。因此,我们必须把它转换成二维空间。这里有两种方法可以可视化这个快速傅立叶变换(FFT)结果:1、频谱2、相位角

图 (d): (从左到右t) (1) 频谱 (2) 相位角

从图(d)(1)可以看出,四个角上有一些对称图案。这些图案可以在下一步中转换到图像的中心。

频谱图像中的白色区域显示出较高的频率。频谱图像中的角表示低频域。因此,结合以上两点,角上的白色区域表明:在低/零频域中存在高频率,这对于大多数图像来说是非常正常的情况。

另一方面,很难从图(d)(2)中识别出任何明显的图案,这并不代表快速傅立叶变换(FFT)的相位角完全没有用处,因为相位保留了图像所必需的形状特征。

第二步:将零频域部分移到频谱中心。

二维快速傅立叶变换(FFT)具有平移和旋转特性,因此我们可以在不丢失任何信息的情况下移动频谱。我把零频域部分移到了频谱的中心,这使得频谱图像对人类更为可见。此外,这种转换可以帮助我们轻松实现高通/低通滤波器。

步骤3:与步骤2相反。将零频域部分移回原位置

步骤4:与步骤1相反。计算二维快速傅里叶逆变换。

步骤3和步骤4的过程是将频谱信息转换回灰度图像。它可以通过应用逆向移位和快速傅立叶变换(FFT)的逆运算来实现。

编码

在Python中,我们可以利用Numpy模块中的numpy.fft 轻松实现快速傅立叶变换(FFT)运算操作。

在理解了傅里叶变换背后的基本理论之后,我们就可以研究如何控制频谱输出来处理图像了。首先,我们需要了解低/高通滤波器。

低通滤波器

图 (e):

低通滤波器是一种只允许低频谱通过的滤波器。图像中的低频谱意味着像素值变化缓慢。例如,图像中颜色变化较小的平滑区域(如新空白白纸的中心)被视为低频谱内容。

由于低通滤波器的输出只允许低频通过,对噪声等高频谱内容进行了阻塞,使得处理后的图像具有较少的噪声像素。因此,低通滤波器被广泛应用于图像的去噪。

高通滤波器

图(f)

相反,高通滤波器是只允许高频谱通过的滤波器。图像中的高频谱意味着像素值变化很大。例如,图像中颜色变化较大的边缘区域,如两张重叠的白纸和黑纸之间的边缘,被认为是高频谱内容。

在图像中,通过做适当的重复计算来锐化原图像,能用适当的重复计算来锐化原始图像的图像,从高通滤波器的输出可获得图像中的边缘。这将增强原始图像的清晰度,使边缘更加清晰。

从图e(5)和图f(5),我们可以注意到这两个滤波器呈现不同的特性。低通滤波器倾向于保留图像中的整体信息。另一方面,高通滤波器试图辨别出图像中的变化。

在了解了前一节中的低通/高通滤波器的工作原理后,让我们继续认识滤波器形状

理想的滤波器

图(g):(从左到右)(1)使用D₀=50的低通滤波器 (2)使用D₀=50的高通滤波器

公式 (a): 在理想低通滤波器的公式中,D₀是合理常量,D(u,v)是频域中一点(u,v)与频域矩形中心之间的距离

在理想滤波器背后的概念非常简单:给定一个半径值D₀作为阈值,低通滤波器图(g)(1)在阈值下H(u,v)等于1,在阈值以上H(u,v)等于0。

公式(b): 在理想高通滤波器的公式中,D₀是合理常量,D(u,v)是频域中一点(u,v)与频域矩形中心之间的距离

相反,高通滤波器图(g)(2)在阈值下H(u,v)等于0,在阈值以上H(u,v)等于1。

巴特沃思(Btterworth)滤波器

图(h): (从左到右) (1) 使用n=20,D₀=50的Butterworth 低通滤波器(2) 使用n=20,D₀=50的Butterworth 高通滤波器

图 (i): (从左到右) (1)使用n=3的Butterworth 低通滤波器 (2)使用n=3的Butterworth高通滤波器

公式(c): 在Butterworth低通滤波器的公式中, D₀是一个合理常量, D(u,v)是频域中一点(u,v)与频域矩形中心之间的距离

与理想滤波器不同的是,巴特沃斯滤波器没有明显的不连续性,使得通过的频率和被过滤的频率之间有明显的边界。巴特沃斯滤波器在函数中引入了一个新的参数n。当操作n时,它影响着通过的频率和被过滤的频率之间边界的清晰程度。图(h)和图(i)

公式(d): 在Butterworth高通滤波器的公式中, D₀是一个合理常量,D(u,v)是频域中一点(u,v)与频域矩形中心之间的距离

高斯(Gaussian)滤波器

图 (j): (从左到右) (1) 使用D₀=50的高斯低通滤波器 (2) 使用D₀=50的高斯低通滤波器

公式 (e): 在高斯低通滤波器的公式中,D₀是一个合理常量,D(u,v)是频域中一点(u,v)与频域矩形中心之间的距离

与巴特沃斯滤波器相比,高斯滤波器产生的边界更平滑。通过的频谱和被过滤的频谱之间的边界非常模糊,这便可以更平滑的处理图像。

公式 (f): 在高斯高通滤波器的公式中,D₀是一个合理常量,D(u,v)是频域中一点(u,v)与频域矩形中心之间的距离

滤波器比较

图 (k): (从左到右) 理想滤波器, n=10的Butterworth滤波器和D₀=50 的高斯滤波器

我把所有不同的过滤器放在图(k)中,以总结我们在过滤器设计中所做的工作。从左到右,圆的边缘变得模糊,这将对输出结果产生不同的影响

总体上来看,巴特沃斯滤波器是介于理想滤波器和高斯滤波器之间的滤波器。

低通滤波器的结论

图 (l): (从左到右) (1) 理想滤波器的输出 (2)巴特沃斯滤波器的输出

(3) D₀=50时高斯滤波器的输出

图(l)显示所有三个滤波器都是低通滤波器,因为输出图像保留了整个图像信息。此外,我们可以很容易地注意到高斯滤波器由于低失真比其他两个滤波器表现更好。理想滤波器产生大量波形噪声的原因是,理想滤波器的设计阻塞了距离原点一定半径以外的所有信息。因此,有些信息会在没有任何平滑的情况下急剧中断。相反,巴特沃斯滤波和高斯滤波是平滑的阻塞在距离原点一定半径之外的信息,这使得图像更平滑,失真更小。

高通滤波器的结论

图 (m): (从左到右) (1) 理想滤波器的输出 (2)巴特沃斯滤波器的输出

(3) D₀=50时高斯滤波器的输出

毫无疑问,图(m)中的滤波器是高通滤波器,因为输出结果只捕获边缘。在滤波器中,高通滤波器结果的差异类似于低通滤波器结果。与巴特沃斯滤波器和高斯滤波器相比,理想滤波器的滤波结果有很多失真。

结束语

傅立叶变换是处理二维信息的有力工具。FT允许我们在另一个维度处理图像,这带来了更大的灵活性。在这篇文章中,我对使用傅立叶变换来处理图像这一基本步骤做了整理,希望你喜欢。如果本文对小伙伴有所帮助,请帮忙点个再看哦!

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-12-21,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 小白学视觉 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
一文读懂傅里叶变换处理图像的原理 !!
图 (a): (从左到右) (1) 原始图片 (2) 使用高斯低通滤波器 (3) 使用高斯高通滤波器. 本文中的原始图像来自OpenCV Github示例。
JOYCE_Leo16
2024/03/22
6720
一文读懂傅里叶变换处理图像的原理 !!
数字图像处理学习笔记(十四)——频域图像增强(图像的频域分析)
来抑制高频成分,通过低频成分,然后再进行逆傅立叶变换获得滤波图像,就可达到平滑图像的目的。
荣仔_最靓的仔
2021/02/02
7K0
数字图像处理学习笔记(十四)——频域图像增强(图像的频域分析)
【OpenCV】Chapter6.频率域图像滤波
OpenCV 中的cv.dft()函数也可以实现图像的傅里叶变换,cv.idft()函数实现图像傅里叶逆变换。
zstar
2022/09/26
1.6K0
【OpenCV】Chapter6.频率域图像滤波
在图像的傅里叶变换中,什么是基本图像_傅立叶变换
大家好,又见面了,我是你们的朋友全栈君。 从现代数学的眼光来看,傅里叶变换是一种特殊的积分变换。它能将满足一定条件的某个函数表示成正弦基函数的线性组合或者积分。在不同的研究领域,傅里叶变换具有多种不同的变体形式,如连续傅里叶变换和离散傅里叶变换。 傅立叶变换属于调和分析的内容。”分析”二字,可以解释为深入的研究。从字面上来看,”分析”二字,实际就是”条分缕析”而已。它通过对函数的”条分缕析”来达到对复杂函数的深入理解和研究。从哲学上看,”分析主义”和”还原主义”,就是要通过对事物内部适当的分析达到增进对其本质理解的目的。比如近代原子论试图把世界上所有物质的本源分析为原子,而原子不过数百种而已,相对物质世界的无限丰富,这种分析和分类无疑为认识事物的各种性质提供了很好的手段。 在数学领域,也是这样,尽管最初傅立叶分析是作为热过程的解析分析的工具,但是其思想方法仍然具有典型的还原论和分析主义的特征。”任意”的函数通过一定的分解,都能够表示为正弦函数的线性组合的形式,而正弦函数在物理上是被充分研究而相对简单的函数类,这一想法跟化学上的原子论想法何其相似!奇妙的是,现代数学发现傅立叶变换具有非常好的性质,使得它如此的好用和有用,让人不得不感叹造物的神奇: 1. 傅立叶变换是线性算子,若赋予适当的范数,它还是酉算子; 2. 傅立叶变换的逆变换容易求出,而且形式与正变换非常类似; 3. 正弦基函数是微分运算的本征函数,从而使得线性微分方程的求解可以转化为常系数的代数方程的求解.在线性时不变的物理系统内,频率是个不变的性质,从而系统对于复杂激励的响应可以通过组合其对不同频率正弦信号的响应来获取; 4. 著名的卷积定理指出:傅立叶变换可以化复杂的卷积运算为简单的乘积运算,从而提供了计算卷积的一种简单手段; 5. 离散形式的傅立叶变换可以利用数字计算机快速的算出(其算法称为快速傅立叶变换算法(FFT)). 正是由于上述的良好性质,傅里叶变换在物理学、数论、组合数学、信号处理、概率、统计、密码学、声学、光学等领域都有着广泛的应用。 傅立叶变换在图像处理中有非常非常的作用
全栈程序员站长
2022/09/27
1.7K0
什么是傅里叶变换?傅里叶变换处理图像的原理是什么?
傅里叶变换,最牛的算法之一,广泛应用于物理学、信号处理、概率、统计、密码学、声学、光学等领域。
微帧Visionular
2024/11/08
7290
什么是傅里叶变换?傅里叶变换处理图像的原理是什么?
图像卷积与滤波参考资料:
首先,我们有一个二维的滤波器矩阵(有个高大上的名字叫卷积核)和一个要处理的二维图像。然后,对于图像的每一个像素点,计算它的邻域像素和滤波器矩阵的对应元素的乘积,然后加起来,作为该像素位置的值。这样就完成了滤波过程。 注意:卷积和协相关的差别是,卷积需要先对滤波矩阵进行180的翻转,但如果矩阵是对称的,那么两者就没有什么差别了。
keloli
2018/09/13
1.1K0
【数字图像】数字图像滤波处理的奇妙之旅
数字图像处理是一门涉及获取、处理、分析和解释数字图像的科学与工程领域。这一领域的发展源于数字计算机技术的进步,使得对图像进行复杂的数学和计算处理变得可能。以下是数字图像处理技术的主要特征和关键概念
SarPro
2024/02/20
2820
【数字图像】数字图像滤波处理的奇妙之旅
MATLAB实现图像的傅立叶变换
傅里叶变换是线性系统分析的一个有力工具,它能够定量地分析诸如数字化系统、采样点、电子放大器、卷积滤波器、噪音和显示点等的作用。通过实验培养这项技能,将有助于解决大多数图像处理问题。对任何想在工作中有效应用数字图像处理技术的人来说,把时间用在学习和掌握博里叶变换上是很有必要的。
timerring
2023/03/04
1.2K0
数字图像处理测验题
V={0,1,2}时,D4=无穷大,D8=无穷大,Dm=无穷大;V={2,3,4}时,D4=无穷大,D8=4,Dm=5。
客怎眠qvq
2022/11/01
1.3K0
数字图像处理测验题
使用傅里叶变换进行图像边缘检测
简单来说,傅里叶变换是将输入的信号分解成指定样式的构造块。例如,首先通过叠加具有不同频率的两个或更多个正弦函数而生成信号f(x),之后,仅查看f(x)的图像缺无法了解使用哪种或多少原始函数来生成f(x)。
小白学视觉
2020/04/15
1.7K0
Python图像处理:频域滤波降噪和图像增强
来源:DeepHub IMBA本文约4300字,建议阅读8分钟本文将讨论图像从FFT到逆FFT的频率变换所涉及的各个阶段,并结合FFT位移和逆FFT位移的使用。 图像处理已经成为我们日常生活中不可或缺的一部分,涉及到社交媒体和医学成像等各个领域。通过数码相机或卫星照片和医学扫描等其他来源获得的图像可能需要预处理以消除或增强噪声。频域滤波是一种可行的解决方案,它可以在增强图像锐化的同时消除噪声。 快速傅里叶变换(FFT)是一种将图像从空间域变换到频率域的数学技术,是图像处理中进行频率变换的关键工具。通过利用图
数据派THU
2023/04/08
1.1K0
Python图像处理:频域滤波降噪和图像增强
频域图像增强
基本步骤是:        f(x,y)--------àDFT-------à频率域滤波--------àIDFT---------àg(x,y) 第一步是二维傅立叶变换,结果是一个傅立叶频谱 如f
逍遥剑客
2018/05/21
9040
【数字图像】数字图像傅立叶变换的奇妙之旅
数字图像处理是一门涉及获取、处理、分析和解释数字图像的科学与工程领域。这一领域的发展源于数字计算机技术的进步,使得对图像进行复杂的数学和计算处理变得可能。以下是数字图像处理技术的主要特征和关键概念:
SarPro
2024/02/20
4750
【数字图像】数字图像傅立叶变换的奇妙之旅
数字信号处理课程实验报告(数字信号处理需要什么基础)
按照题目要求,首先应利用计算机生成一个由多个频率叠加而成的信号。之后在不通风抽样频率之下对信号进行采样。编写FFT程序对信号进行DFT变换,应能观察出在满足和不满足奈奎斯特采样定理的情况下信号频谱分别处于不混叠和混叠状态。然后需要对信号进行恢复以观察满足或不满足奈奎斯特采样定理的情况下,频域的频谱混叠对时域恢复信号的影响。在频谱混叠时,观察其时域信号的失真。
全栈程序员站长
2022/07/30
8820
数字信号处理课程实验报告(数字信号处理需要什么基础)
butterworth matlab,Matlab实现Butterworth滤波器
f=double(I); % 数据类型转换,MATLAB不支持图像的无符号整型的计算
全栈程序员站长
2022/11/01
1K0
图像与滤波
像素:一张图片在不停的放大到再也无法放大的时候,呈现在我们眼前的是一个个小的颜色块,这种带有颜色的小方块就可以被称为像素
雪月清
2020/06/23
1K0
滤波器基础-滤波器的种类与特性
  滤波器是什么?     滤波器是对波进行过滤的器件,一般有两个端口,一个输入信号、一个输出信号。可以说它是重要的电子元器件,滤波器把电源功率传输到设备上,大大衰减经电源传入的EMI电磁干扰信号,保
利又德智能感知
2023/04/11
1.4K0
滤波器基础-滤波器的种类与特性
数字图像处理之频域图像增强
                                                        by方阳
努力努力再努力F
2018/09/11
1.2K0
数字图像处理之频域图像增强
OpenCV系列之傅里叶变换 | 三十
傅立叶变换用于分析各种滤波器的频率特性。对于图像,使用2D离散傅里叶变换(DFT)查找频域。一种称为快速傅立叶变换(FFT)的快速算法用于DFT的计算。关于这些的详细信息可以在任何图像处理或信号处理教科书中找到。请参阅其他资源部分。
磐创AI
2019/12/23
1.6K0
OpenCV系列之傅里叶变换 | 三十
振铃效应(ringing artifacts)「建议收藏」
大家好,我是架构君,一个会写代码吟诗的架构师。今天说一说振铃效应(ringing artifacts)「建议收藏」,希望能够帮助大家进步!!!
Java架构师必看
2022/02/09
5.6K0
振铃效应(ringing artifacts)「建议收藏」
相关推荐
一文读懂傅里叶变换处理图像的原理 !!
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档