图像处理中的二维傅里叶变换

图像处理中的二维傅里叶变换

问题来源是对彩色图像进行压缩时得出的傅里叶系数的图像如何解释,导入图片,转化为灰度图片:
#彩色图片一般是由RGB组成,其实就是3个二维数组叠加而成,当R=G=B时,彩色图片就会变成一种灰度颜色,所以灰度颜色的图片其实就是一个二维数组 #灰度化处理总共有三种方法:最大值法、平均值法、加权平均法 A = imread(os.path.join('..','DATA','jelly.jpg')) Abw = np.mean(A, -1); # 转化为灰度图像也可以通过cv2库或者plt, #0:压缩行,对各列求均值,返回 1* n 矩阵,axis =1 :压缩列,对各行求均值,返回 m *1 矩阵

接下来利用快速傅里叶变换,求解二维矩阵(每个变量是灰度值)的傅里叶系数,将所得的绘制在对数坐标系中:At = np.fft.fft2(Abw)#计算二维的傅里叶变换 F = np.log(np.abs(np.fft.fftshift(At))+1) # 将图像中的低频部分移动到图像的中心;将 FFT 置于对数刻度上。得到的图像如下:
下面介绍一下二维傅里叶变换:连续的傅里叶变换为: F ( u , v ) = ∫ − ∞ ∞ ∫ − ∞ ∞ f ( x , y ) e − 2 π i ( u x + v y ) , d x , d y F(u,v) = \int_{-\infty}^{\infty} \int_{-\infty}^{\infty} f(x,y) e^{-2\pi i(ux+vy)} , dx , dy F(u,v)=∫−∞∞∫−∞∞f(x,y)e−2πi(ux+vy),dx,dy离散的傅里叶变换为: F ( u , v ) = 1 M N ∑ x = 0 M − 1 ∑ y = 0 N − 1 f ( x , y ) e − i 2 π ( u x / M + v y / N ) F(u,v)=\frac{1}{\sqrt{MN}}\sum_{x=0}^{M-1}\sum_{y=0}^{N-1}f(x,y)\mathrm{e}^{-i2\pi(ux/M+vy/N)} F(u,v)=MN 1x=0∑M−1y=0∑N−1f(x,y)e−i2π(ux/M+vy/N)各变量的具体意义如下:
f ( x , y ) f(x,y) f(x,y):输入图像的灰度矩阵,即空间域中的图像,也就是灰度值。
F ( u , v ) F(u,v) F(u,v):变换后的复矩阵,表示频率域中的图像。其实部和虚部分别代表频率分量的幅度和相位。
x , y x,y x,y:空间域中的坐标,代表图像中的像素位置,取值范围都是从 0 ∼ M − 1 0 \sim M-1 0∼M−1, 0 ∼ N − 1 0\sim N-1 0∼N−1。
u , v u,v u,v:频率域中的坐标,代表图像中的频率分量。
M , N M,N M,N:图像的尺寸,即灰度矩阵的宽度和高度。
i i i:虚数单位。
u u u和 v v v是频率域中的坐标变量,它们分别代表了图像在水平方向和垂直方向上的频率分量。这些频率分量是图像中不同空间频率的正弦波和余弦波的叠加结果, u u u和 v v v的取值范围和 x , y x,y x,y相同。

下面说一下具体意义:傅里叶变换的物理意义是将图像的灰度分布函数变换为图像的频率分布函数。图像的频率是表征图像中灰度变化剧烈程度的指标,是灰度在平面空间上的梯度。如:大面积的沙漠在图像中是一片灰度变化缓慢的区域,对应的频率值很低;而对于地表属性变换剧烈的边缘区域在图像中是一片灰度变化剧烈的区域,对应的频率值较高。

图像的频谱是图像灰度变化强度的指标,是灰度在平面空间中的梯度。 二维傅里叶变换算法的运行速度很慢的,算法的时间复杂度为O(n^ 4)。在实际应用中,由于直接计算二维离散傅里叶变换的计算量较大,通常会采用快速傅里叶变换(Fast Fourier Transform, FFT)算法来提高计算效率。FFT算法通过减少不必要的计算来加速DFT的计算过程,是图像处理中常用的傅里叶变换实现方法。此外,在图像处理中,还经常对DFT的结果进行中心化处理(即将频率域的原点移动到矩阵的中心),以便于观察和分析频谱的对称性。中心化后的频谱图通常能够更直观地展示图像的频率分布特征。

如上图右所示,利用快速傅里叶变换并且将低频部分移动到中心。

相关推荐
宸津-代码粉碎机1 小时前
OpenAI 连夜迎战 Grok Bot 和 Muse:AI 智能体从 “会聊天” 到 “能办事”,现在入场还来得及吗
java·大数据·人工智能·分布式·python
Y3815326621 小时前
SERP API 计费口径:credits_charged、执行失败扣费与退款边界
python·搜索引擎
蒸鱼Yuzheng3 小时前
设备端性能工件可靠导出:断点续传、哈希、manifest 与失败恢复
android·自动化测试·python·adb·数据完整性
小蒋观天下3 小时前
两轮车检测AI摄像头——2026行业竞争格局、商业模式与核心痛点
大数据·人工智能·安全·计算机视觉·ai大模型
圆圆讲门店4 小时前
挑选同城获客服务机构时需要考量的核心因素都有哪些?
大数据·网络·人工智能·python
傻啦嘿哟4 小时前
Python的默认参数把我坑惨了,原来写[]和写None的区别这么大
开发语言·python·机器学习
微小冷4 小时前
Python凸优化cvxpy初步
python·机器人·凸优化·数学规划·cvxpy
在世修行4 小时前
干货:显式映射 vs 自动判据
python·插件
xzal124 小时前
Python之简单理解栈和队列
python
小蒋观天下4 小时前
两轮车检测AI摄像头——2026-2030年未来市场规模、增长逻辑与行业天花板
大数据·人工智能·安全·计算机视觉·ai大模型