Python OpenCV 影像处理:傅立叶转换

►前言

上篇介绍基于计算影像的梯度,通过在影像中找到梯度值的变化来识别边缘。

本篇将介绍傅立叶变换的基本原理,了解傅立叶变换是如何将影像从空间域转换到频率域的,以及为什么这种转换在影像处理过程中是有用的。以及傅立叶变换的实际应用,展示傅立叶变换在影像去杂讯、影像增强和影像压缩等方面的应用。

并透过程式码的说明,让各位了解OpenCV Python于图像处理上的基本操作。

►傅立叶变换定义

傅立叶变换是一种将讯号从时间域或空间域转换到频率域的数学工具。它可以用来分析各种滤波器的频率特性。对于影像,可以使用二维离散傅立叶变换 (DFT)来寻找频率域。

正弦波讯号 x(t) = A sin(2πft),可以说 f是讯号的频率,采用其频域可以看到一个尖峰f,如果讯号被取样形成离散讯号,我们会得到相同的频域。也可以将影像视为在两个方向上(x, y )取样的讯号,通过傅立叶变换来分析评频率成分。

一维离散傅立叶变换如下:

►傅立叶变换定义

OpenCV 提供了 cv2.dft() 和 cv2.idft() 函数来计算离散傅立叶变换(DFT)和逆离散傅立叶变换。这些函数可以用于图像的频域分析和处理。

1.频域滤波 - 低通滤波器来平滑图像

2.高通滤波器来强化图像中的边缘和细节

3.傅立叶变换来去除图像中的周期性噪声

►常见应用

  1. 噪声去除:在频域中去除特定频率成分来减少图像中的噪声。
  2. 边缘检测:通过频域滤波来强调图像中的边缘。
  3. 图像压缩:在频域中对图像进行压缩以减少数据量。

►小结

透过以上讲解,搭配程式码进行范例讲解,相信各位对于图像上的傅立叶转换应用能有更深刻的理解,期待下一篇博文吧!

►Q&A

问题一:在频域中如何进行滤波操作?

在频域中进行滤波操作通常涉及创建适当的滤波器(如低通、高通或带阻滤波器),并将其应用于傅立叶变换后的图像。滤波器掩码可以设计为在频域中屏蔽或保留特定的频率成分。

问题二:如何显示傅立叶变换的结果?

傅立叶变换的结果可以通过计算频谱幅值来显示。这通常涉及使用 cv2.magnitude() 函数计算幅值,然后使用对数变换来增强显示效果。

问题三:为什么要使用 np.fft.fftshift() 和 np.fft.ifftshift()?

np.fft.fftshift() 函数将频谱的零频率成分移到中心,使得频域分析更直观。相应地,np.fft.ifftshift() 将其移回原位,以便进行逆傅立叶变换。这些操作有助于更容易地应用和可视化滤波器。

问题四:如何在频域中去除特定频率的噪声?

要在频域中去除特定频率的噪声,可以创建一个带阻滤波器(Band Stop Filter)来屏蔽这些频率。这涉及手动设置一个掩码来屏蔽特定的频率点,然后将滤波器应用到傅立叶变换后的图像。

问题五:如何将频域中的处理结果转换回空间域?

在频域中进行处理后,需要使用逆傅立叶变换(IDFT)将结果转换回空间域。这通常包括使用 np.fft.ifftshift() 将频谱移回原位,然后使用 cv2.idft() 计算逆傅立叶变换。

►参考资料

OpenCV - Open Computer Vision Library

欢迎登录大大通,了解更多精彩内容!

相关推荐
无心水几秒前
【Harness:落地实战】18、从“龙虾”到“爱马仕”:Hermes 进化,全自动自进化 Harness 的架构革命
人工智能·架构·openclaw·养龙虾·harness·hermes·honcho
li星野1 分钟前
LLMLingua:用小型模型“剪枝”大语言模型提示词,让长文本不再昂贵
人工智能·python·学习·语言模型·剪枝
三行数学1 分钟前
AI4Math 综述:人工智能如何重塑数学研究
人工智能
MR.欻2 分钟前
ZLMediaKit 源码分析(四):RTP/RTCP 协议栈实现分析
c++·人工智能·vscode·ffmpeg·音视频
峥嵘life6 分钟前
Android getprop 属性限制详解:User 版本属性获取问题分析
android·开发语言·python·学习
人月神话-Lee7 分钟前
【图像处理】Core Image 与 GPU 渲染管线——让滤镜飞起来
图像处理·人工智能·ios·chatgpt·ai编程·swift·gpu
石工记8 分钟前
CTO如何落地AI?从0到1的实战路径
人工智能·python·django·flask·numpy·pandas·pyqt
云天AI实战派16 分钟前
跨境出海全流程实战:用 Medusa + Hyperswitch + ClickHouse 搭建落地页、支付订阅、客服工单与多语言 SEO 闭环
大数据·人工智能·clickhouse·独立开发·跨境出海·medusa
向量引擎17 分钟前
向量引擎技术文档给我的创作启发:AI搜索生态下的内容适配实践
人工智能·gpt·ai编程·ai写作·key
程序大视界19 分钟前
2026年AI大模型三足鼎立:ChatGPT、Claude、Gemini终极对比与选型指南
人工智能·chatgpt