news 2026/10/2 21:58:07

频率域图像处理核心:傅里叶变换、频域滤波与同态滤波全解析

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
频率域图像处理核心:傅里叶变换、频域滤波与同态滤波全解析

数字图像处理这门课,理论上讲,前几章再零碎,大家照着例题还是能把作业写出来的。但到了第四章频率域图像处理,大多数人的反应会突然慢下来:坐标系成了 u、v,图像变成了复数矩阵,之前积累的线性代数知识在这一刻全部暴露出来。我当年复习这一章时的第一感受是:这哪是图像处理,分明是信号处理课。可偏偏第四章又是整门课里出题密度最高的地方,翻近几年各种数字图像处理试卷就能发现,频率域相关题目几乎从不缺席,选择题、判断题、简答题、计算题都会出现。

这篇文章想做的,是把这一章最核心、最常考、也最容易混的知识点,按一条完整逻辑线整理出来,从傅里叶变换的本质,到频域滤波的标准流程,再到同态滤波和各种滤波器选型的细节,最后附上一份可以拿来自测的易错题清单。适合正在备考这门课的人,也适合想把频域方法真正用到项目里的同学。内容会尽量压掉书上的废话,只留下能拿分、能落地的部分。

1. 为什么非要绕到频率域去处理图像

1.1 从空间域到频率域:一次换坐标系

空间域滤波的本质是模板卷积,也就是用一个小的窗口(比如 3×3、5×5)在图像上滑动,逐像素做加权求和。均值模糊、高斯模糊、Sobel 边缘检测,基本都是这个套路。这个方式的优点是直观,缺点是视野太局部——模板能看到的区域就那么点大,它很难感知“整幅图像里存在某种周期性结构”这类全局信息。

举个例子就明白了:一张文档扫描图里有一层均匀的条纹噪声,这种噪声的周期可能是几十个像素甚至上百个像素。你在空间域想用一个固定模板去除它,模板尺寸小了根本覆盖不到一个周期,模板尺寸大了计算量又骤增,而且容易把文字细节一起抹掉。但在频率域里,这种周期噪声会老老实实地压缩成几个孤立的亮点,只要把这些亮点的区域置零就可以去除,整个过程非常干净。

所以频率域处理不是要取代空间域,而是提供了一种更宏观的视角。就好比声音处理里,时域波形看的是“某个时刻音量多大”,而频谱看的是“整段声音里包含了哪些频率成分”。图像在频率域里的做法,本质上是把一幅图像拆解成大量不同频率、不同方向的正弦条纹的叠加,然后在“系数”上做文章。

1.2 频率高低的直观感觉

频率域里“低频”和“高频”到底对应图像的什么?这是第一章概念题的高频考点,也是理解后面所有滤波器的前提。

  • 低频分量:对应像素值在大范围内平缓变化的区域。一面白墙、一片天空、一个均匀的光照梯度,它们的主要能量都集中在低频。
  • 高频分量:对应像素值在小范围内剧烈变化的区域。物体边缘、细纹理、噪点,这些在频域里都算高频内容。

我自己的记忆方法是拿声音类比:低频像贝斯,声音低沉浑厚,决定一首歌的“底色”;高频像镲片,清脆闪耀,决定一首歌的“细节”。图像的低频决定整体亮度和层次,高频决定边缘和纹理是否清晰。

这里有一个特别容易在判断题里挖坑的点:噪声为什么通常被认为是高频?因为像椒盐噪声、高斯白噪声这样的东西,像素之间几乎没有相关性,体现在频谱上就是覆盖整个频率范围的平坦分量,其中高频部分特别突出。所以在频域里做低通滤波,既能去噪,也一定会损失边缘细节。噪声和细节在频率域里是“共享”高频区域的,不存在只保留细节、完全去掉噪声的滤波器,只能折中。

2. 傅里叶变换公式拆解:读懂DFT和IDFT

2.1 从连续到离散:图像是一种二维信号

先看连续二维傅里叶变换的定义,虽然考试很少考连续公式,但理解它有助于搞清楚离散公式里每一项的来历:

F(u, v) = ∫∫ f(x, y) · exp(-j·2π·(u·x + v·y)) dx dy

这里 exp(-j·2π·(ux+vy)) 代表一个频率为 (u, v) 的二维复指数波,你可以把它想象成图像上的一个正弦条纹。积分的意思是:把图像和它做“匹配”,看图像里包含多少这种频率和方向的成分。

离散化的二维傅里叶变换(DFT)公式长这样:

F(u, v) = Σ_{x=0}^{M-1} Σ_{y=0}^{N-1} f(x, y) · exp(-j·2π·(u·x/M + v·y/N))

逆变换(IDFT)则是:

f(x, y) = (1/(M·N)) · Σ_{u=0}^{M-1} Σ_{v=0}^{N-1} F(u, v) · exp(+j·2π·(u·x/M + v·y/N))

很多初学者一看到这种求和公式就发怵,但其实只需要抓住三件事:

第一,M 是图像行数,N 是列数,u 和 x 对应行方向,v 和 y 对应列方向,坐标原点在左上角 (0,0)。第二,F(u,v) 是一个复数,不是实数,所以后面所有处理都是针对复数进行的。第三,IDFT 前面的系数 1/(MN) 是归一化因子,它保证你把图像正变换到频域、再逆变换回空域后,数值能恢复原样。用 NumPy 的 fft2 时,正变换没有自动乘这个因子,逆变换自带归一化,这点在写代码时要注意。

2.2 幅度谱、相位谱与可视化

因为 F(u,v) 是复数,所以每个频率分量都有幅度和相位:

幅度谱:|F(u,v)| = sqrt(Re² + Im²) 相位谱:φ(u,v) = arctan(Im / Re)

这两个谱在图像里的作用完全不同,可以说是这一章最重要的认知。经典实验是用很多图像做交叉重建:拿图像 A 的幅度谱配上图像 B 的相位谱,逆变换后看到的几乎全是 B 的结构;反过来,用 A 的相位配 B 的幅度,看到的主要是 A 的轮廓。这个结果说明了相位谱决定了图像的主要结构信息,幅度谱更多决定各频率分量的能量大小。

做图像处理项目时,我们常把幅度谱展示成“频谱图”。这里有一个坑:直接显示 |F(u,v)| 几乎什么都看不见,因为直流分量 F(0,0) 比其他分量大好几个数量级,其他分量在显示范围里被压得几乎为全黑。标准做法是做对数变换:log(1 + |F|),把动态范围压下来再显示。这是一道每次考试都会出现的送分题,原因要会写。

位置方面,用 fftshift 把零频移到图像中心后,频谱图中心亮斑是低频,向外扩散是高频;水平方向对应图像中垂直方向的变化条纹,垂直方向对应水平方向的变化条纹。列一个方便记忆的对应关系:

频谱中的位置对应图像内容典型频段
中心直流分量、整体亮度、大面积背景低频
中心附近光照变化、平滑渐变区域低频
远离中心边缘、纹理、细节、噪声高频
沿某一方向该方向垂直方向上的条纹变化方向性频率

2.3 采样与混叠:离散化引入的隐患

这一小节教材通常放在傅里叶变换前后,但考试里经常以判断题形式出现。数字图像已经是离散信号,而离散化的本质是对连续场景进行采样。采样后的频谱是原连续频谱以采样频率为周期的重复,如果图像中包含高于奈奎斯特频率(采样频率一半)的高频成分,这些成分就会折返到低频区域,产生混叠,表现为莫尔条纹或锯齿状伪影。

这也是为什么对图像做缩小(降采样)前要先做低通滤波:先滤掉超出目标采样能力的高频成分,再降采样,可以避免混叠。我给读者一个实用建议:如果在项目里做图像缩放,不要直接 cv2.resize 一步到位,先做一次高斯低通再重采样,边缘细节虽然会损失一点,但不会出现让人头疼的摩尔纹。

3. 频率域里的“规则”:六个必须背的性质

3.1 可分离性与FFT的复杂度优势

二维 DFT 可以被拆分成两次一维 DFT:先对图像的每一行做一维 DFT,得到中间结果,再对中间结果的每一列做一维 DFT,得到最终结果。这个性质叫可分离性,它让二维变换能借助一维 FFT 算法实现。

复杂度差异相当夸张:直接按二维 DFT 定义计算,N×N 图像需要 O(N⁴) 次复数运算,而分离成两次一维 FFT 后是 O(N² log N)。对 512×512 的图像来说,前者是约 6.8×10¹⁰ 次的量级,后者是约 2.4×10⁶ 次的量级,差距在四个数量级以上。有些教材会把这个对比写成计算题,思路就是上面的公式,别按错复杂度。

3.2 平移、旋转与中心化

平移性质是:空间域图像乘以指数项,等价于频域谱发生平移。最实用的特例是让图像乘以 (-1) 的 (x+y) 次方,这个操作会让频谱的直流分量从左上角 (0,0) 移动到图像中心 (M/2, N/2),这正是我们做中心化的数学来源。

数学上的原因是 (-1)^(x+y) = e^(jπ(x+y)),它在频率上恰好对应半个周期的平移。实际代码里,你可以直接调用 fftshift 完成“重排”,效果等同,但要记得逆变换前调用 ifftshift 还原位置,这比在图像上手动乘 (-1) 更不容易出错。

旋转性质同样重要:如果图像在空间域旋转一个角度,其频谱也会旋转同样的角度。这个性质在纹理方向分析、图像配准里很有用,考试一般以选择题形式出现,考“旋转后频谱怎么变化”的答案,记准“同角度旋转”四个字就够了。

3.3 卷积定理、对称性与能量守恒

卷积定理是频域滤波的理论基石,考试用它推导的东西非常多:

空间域卷积 ↔ 频域乘积 f(x,y) * h(x,y) ↔ F(u,v) · H(u,v)

这句话的意思是,图像和一个滤波器做卷积,等价于在频域里用滤波器的频谱 H(u,v) 逐点乘图像的频谱 F(u,v)。频域滤波的所有流程,本质上都是这条定理的工程实现。反过来也有乘积定理:空间域乘积对应频域卷积,这个往往在同态滤波取对数后才用到,但考频域滤波时记住前者更关键。

共轭对称性针对的是实图像:F(u,v) = F*(-u,-v),即频谱在原点两侧是共轭对称的。这解释了为什么实图像的幅度谱总是关于中心对称——滤波时做陷波处理必须成对处理频点,根子就在这里。

帕塞瓦尔定理描述的是能量守恒:空域能量和频域能量之间只差一个归一化系数。实际意义是,当你做低通滤波丢掉一部分高频分量后,图像总能量会下降,对应输出图像的对比度或细节变弱,这是一个可以用来验证滤波结果是否合理的指标。

下面用一个性质速查表总结,方便考前背着用:

性质数学表达典型用途
可分离性二维DFT可拆成两次一维DFT用FFT快速实现
平移性f(x,y)e^(j2π(u0x+v0y)/N) ↔ F(u-u0, v-v0)中心化
旋转性f旋转θ ↔ F旋转θ纹理方向分析
卷积定理f*h ↔ F·H频域滤波的理论依据
共轭对称F(u,v)=F*(-u,-v)判定频谱对称性、陷波配对
帕塞瓦尔定理ΣΣ|f|² = (1/MN)ΣΣ|F|²能量校验

4. 频域滤波的标准流水线

4.1 为什么流程里一定有中心化和去中心化

频域滤波的标准步骤看起来复杂,其实每条都是必要的。最常用的流程是这样:

  1. 读入灰度图像,转为 float 类型。
  2. 对图像乘 (-1)^(x+y),把频谱原点移到中心;或直接采用 fftshift 替代。
  3. 做二维 FFT,得到 F(u,v)。
  4. 设计滤波器 H(u,v),尺寸与图像一致,和 F 逐元素相乘:G(u,v) = F(u,v)·H(u,v)。
  5. 对 G 做 ifftshift(去中心化)。
  6. 做逆 FFT,得到复数结果。
  7. 取结果的实部,丢弃浮点误差导致的虚部。
  8. 对结果做灰度归一化或截断,转成 uint8 输出。

中心化为什么是必须的?因为滤波器通常设计成关于圆心对称的圆形区域,比如“保留距离中心 D0 以内的频率”。如果不先把零频移到中心,滤波器的 H 还要跟着频谱原点位置做偏置,写起来很容易出错,可视化也不直观。去中心化则是为了还原频谱的原始布局,再做逆变换才能得到正确顺序的输出。

4.2 一个通用的Python/OpenCV滤波骨架

先给一段可以直接跑的参考代码,基于 NumPy 实现高斯低通滤波:

import numpy as np import cv2 def fft_spectrum(img): f = np.fft.fft2(img.astype(np.float32)) fshift = np.fft.fftshift(f) return fshift def gaussian_lp_filter(shape, d0): rows, cols = shape crow, ccol = rows // 2, cols // 2 u = np.arange(rows) - crow v = np.arange(cols) - ccol V, U = np.meshgrid(v, u) D = np.sqrt(U**2 + V**2) return np.exp(-(D**2) / (2 * (d0**2))) img = cv2.imread("test.png", cv2.IMREAD_GRAYSCALE) fshift = fft_spectrum(img) H = gaussian_lp_filter(img.shape, d0=30) Gshift = fshift * H g = np.fft.ifft2(np.fft.ifftshift(Gshift)).real g = np.clip(g, 0, 255).astype(np.uint8)

这段代码里有三个细节点,都是实际调程序时容易栽跟头的地方。

第一,np.fft.fft2 的输入如果是 uint8,它会先自动转成整数类型参与运算,结果精度会损失,还会在逆变换后带来意外的整数截断问题。所以一定要先 astype(np.float32) 或 float64。

第二,ifft2 返回的是复数数组,直接转 uint8 会报错。正确做法是取 .real,因为理论上虚部应该为 0,实际留下的只是浮点误差。

第三,滤波后的结果可能超出 [0, 255] 范围,一定要做 np.clip。很多人第一次做频域滤波,看到输出一片白或一片黑,还以为滤波器设计错了,其实只是忘了做范围处理。

4.3 频域滤波与空域卷积的结果差异:周期延拓问题

理论上,卷积定理告诉我们空域卷积等于频域乘积,但实际做出来两者在图像边缘并不完全一致。原因是 DFT 隐含了一个假设:图像是无限周期延拓的。频域乘积对应的是周期卷积,图像边界两侧会互相“环绕”,而空域卷积通常默认只计算有效邻域,边界会补零或复制。

这意味着当滤波器尺寸比较大的时候,频域滤波结果在图像边缘会出现异常的过渡带,看起来像是边界外面有一圈镜像重影。如果你需要严格匹配空域卷积的结果,可以先把图像扩展零填充,滤波后再裁剪回原来尺寸,能有效缓解周期延拓带来的边界误差。如果只是普通去噪应用,这种边界差异通常可以忽略。

5. 三大低通滤波器:选型就是选振铃

5.1 理想低通(ILPF)——为什么它总是“看起来很美”

理想低通的传递函数是硬截止:

H(u,v) = 1 if D(u,v) ≤ D0 H(u,v) = 0 otherwise

也就是说,以频谱中心为圆心、D0 为半径的圆内所有频率完全保留,圆外全部置零。这个数学描述很简洁,但实际使用效果并不“理想”。原因在于频域的锐利截止对应空间域的冲击响应是一个带旁瓣的 sinc 函数,图像在经过滤波后,边缘附近会出现明暗交替的波纹,这就是所谓的振铃效应。

很多考卷会问“理想低通为什么会产生振铃”,标准答案就是:频域传递函数不连续,对应空域冲击响应存在正负交替的旁瓣。振铃现象不是噪声,而是滤波器本身的固有响应。所以理想低通通常只在理论分析里出现,实际项目里基本不推荐。

5.2 巴特沃斯低通(BLPF)——阶数怎么定

巴特沃斯低通的传递函数是:

H(u,v) = 1 / (1 + (D(u,v) / D0)^(2n))

n 是滤波器阶数,决定过渡带的陡峭程度。一阶巴特沃斯没有振铃,因为它的频域响应足够平滑;阶数越高,过渡带越接近理想低通的硬截止,振铃现象也会逐渐显现。所以实际使用中阶数一般取 1 到 2 就够用,没有必要追求过高的阶数。

巴特沃斯滤波器的一大优势是可调的“过渡带”让滤波结果更柔和,能在“去噪”和“保留边缘”之间找平衡。代价是 H(u,v) 没有任何位置严格等于 0,低频没有完全通过,高频也没有完全滤除,所以低频成分会有轻微损失。D0 的定义是频率响应降到 1/√2 处的频率点,和理想低通里的“圆形半径”含义不完全一样,考试喜欢考这个细节。

5.3 高斯低通(GLPF)——不用纠结的最佳起点

高斯低通的传递函数:

H(u,v) = exp(-D²(u,v) / (2·D0²))

它最大的优点是没有振铃。高斯函数在频域和空域都保持高斯形态,不会因为截断产生旁瓣振荡。实际测试下来,高斯低通也是三种低通滤波器里对参数最不敏感的,即使 D0 调得不太准,输出也不会出现明显的伪影。

如果你做项目或做课程实验,不知道该用哪种低通滤波器,直接用高斯低通一般不会错。它的 D0 在高斯分布里实际上就是标准差,当 D=D0 时增益约 0.607,而巴特沃斯一阶在 D0 处增益是 0.5,理想低通在 D0 处是从 1 跳到 0。这个差别在判断题里出现过,值得记一下。

5.4 三种滤波器的对比与D0选择经验

三种低通滤波器的对比,放在一起看更直观:

滤波器类型传递函数截止处增益振铃特点
理想低通 ILPF1 if D≤D0, 0 otherwise1→0 突变明显理论清晰,实际不可用
巴特沃斯 BLPF1/(1+(D/D0)^(2n))0.5一阶无,高阶渐显过渡带可调
高斯 GLPFexp(-D²/(2D0²))0.607无最稳定,最常用

D0 怎么选?要看图像尺寸。对 512×512 图像,频域中心到边缘的最大距离大约在 362 左右,D0 取 20 到 50 是温和到中等强弱的平滑范围。D0 越小,图像越糊,噪声去除越多;D0 太大,滤波效果接近原图。判断方法很简单:先看频谱图,找到能量集中的大致半径,把 D0 设成略大于这个半径,然后跑一次看结果,再到小半径方向收缩。这种做法比拍脑袋给定一个数要可靠得多。

6. 高通、陷波与频域锐化的细节

6.1 高通滤波器从“1减低通”开始

高通滤波器和高频强调滤波器的本质区别,是很多人容易搞混的地方。高通滤波器的传递函数本质上可以用:

H_hp(u,v) = 1 - H_lp(u,v)

构造。低通滤掉的部分,高通就是保留的部分。高通滤波后的图像里,直流分量被完全滤除,所以输出图像的背景会变成接近零灰度的暗色,只有边缘、纹理等高频区域发亮。我想强调一点:这和有噪声的“雾蒙蒙”图像不一样,它看着对比度极差,却是正确结果——因为高频本来就不包含亮度信息。

但是如果拿这种图去做可视化,就很吃亏。噪声也会被高通放大,输出图往往既灰又噪。所以实际工程里高频滤波更多是被包装成“高频强调”或“锐化”来用。

6.2 高频强调与拉普拉斯频域增强

高频强调滤波器在数学上是高通滤波器的扩展:

H_hfe(u,v) = a + b·H_hp(u,v)

其中,a 通常取 0.5 到 1.0,用来保留一部分低频成分,使输出图像保留原图的灰度层次;b 通常取 1.5 到 2.0 左右,用来放大高频细节。这样做的好处是:细节变锐利了,但背景不会变成一团黑,整体看起来更像“增强后的照片”。

频域拉普拉斯增强也是考试里的常客。连续域中,拉普拉斯算子对应频域乘 -4π²(u²+v²),也就是 -4π²D²。想做“原图减去拉普拉斯”形式的锐化,在频域可以写成:

H(u,v) = 1 + 4π²·D²(u,v)

这个式子看上去复杂,理解成“低频保留、高频增强”就够了。频域拉普拉斯和空域拉普拉斯在形式上一一对应,所以教材里会把它们放在一起讲。

6.3 周期噪声与陷波滤波器

周期噪声是频域滤波最典型的杀手级应用。扫描图里的条带干扰、图像传感器带来的规律纹路,都会在频谱上形成离散的亮斑。这些亮斑往往成对出现,因为实图像的频谱具有共轭对称性,一个噪声频率点对应着频谱上两个对称位置。

陷波滤波器的思路很简单:把这些亮斑附近的频率成分直接压掉,相当于在频域挖几个“坑”。设计时通常按带阻方式处理,对距离噪声中心一定半径内的区域置零。实际操作中要注意两点:

第一,噪声频点必须成对处理,只堵一边会导致逆变换后的图像出现奇怪的相位畸变。第二,陷波的半径不能太大,否则会把附近真实图像的频率信息一起删掉,导致图像局部细节丢失。可以先做一个半径较小的陷波,观察噪声是否减弱,再逐步微调。

7. 同态滤波:把光照和反射“拆开”

7.1 照射-反射模型为什么成立

同态滤波的理论基础是照射-反射模型,它把一幅图像看成两个分量的乘积:

f(x,y) = i(x,y) · r(x,y)

其中 i(x,y) 是照射分量,代表光源打到物体上的照明情况,通常变化缓慢,属于低频;r(x,y) 是反射分量,代表物体表面的反射特性,包含边缘、纹理等细节信息,属于高频。现实场景中,一张照片里的内容本质上确实是光照和物体反射共同作用的结果。

但问题在于,这个模型是乘性耦合的,没法直接在频域里用乘除法把两个分量分开。取对数之后,乘法就变成了加法:

ln f = ln i + ln r

这样就能在频域里对两个分量分别调整了。

7.2 同态滤波的流程与传递函数

完整流程是这样的:

  1. 对原始图像取对数。
  2. 对对数图像做 FFT。
  3. 用同态滤波器 H(u,v) 乘频谱,压低低频(照射分量),提升高频(反射分量)。
  4. 逆 FFT,取实部。
  5. 对结果做指数运算,还原到原始灰度量级。

同态滤波器的传递函数有多种形式,常见的是这个:

H(u,v) = (γ_H - γ_L) / (1 + (D0 / D(u,v))^(2n)) + γ_L

参数的含义是:γ_L 控制低频增益,通常小于 1,比如 0.5,起压缩光照的作用;γ_H 控制高频增益,通常大于 1,比如 1.5 到 2.0,起增强细节的作用;D0 是高低频分界半径,n 控制过渡陡峭度。参数组合不同,增强效果差别很大。

实际项目中,同态滤波最常用的场景是逆光照片或夜晚低照度图像。它会同时做两件事:把暗部细节提亮,同时保持亮部不至于过曝。这和单纯提高对比度不一样,因为它针对的是“光照分量”而不是整幅图像的灰度分布。

7.3 同态滤波实验里的几个实际问题

同态滤波做完指数还原后,输出值域往往很不均匀,很可能有大量超出 [0,255] 的值。如果直接截断,暗部细节又会损失。我的经验是:先不要急着转 uint8,而是先统计输出数组的最小值和最大值,做一个线性拉伸到 [0,255] 的范围,再显示。这样能保留更多细节。

另外,γ_H 和 γ_L 的取值不建议一上来就拉很开。先用 γ_L=0.5、γ_H=1.5 跑一遍,观察暗部是否提亮、边缘是否清晰,再逐步调大,可以避免一次把图像弄成一副“塑料感”很强的效果。

8. 备考清单:从知识到分数

8.1 必背结论速查表

到复习后期,最好能把整章内容压缩成一张可以快速扫完的表。我整理了一份高频结论,考前过一遍相当有用:

知识点一句话结论
频率域图像中心低频,对应背景、光照、大面积平坦区域
频率域图像四周高频,对应边缘、纹理、噪声
傅里叶变换的作用把图像从空间域转换到频率域,处理后再逆变换回空间域
中心化原因把零频移到中心,方便设计和显示滤波器
频谱可视化用 log(1+|F|) 压缩动态范围
卷积定理空间域卷积等价于频率域乘积
理想低通频域锐截止,空间域产生振铃
高斯低通无振铃,最稳定常用
高通滤波结果背景变灰暗,直流被滤除
高频强调H = a + b·H_hp,保留灰度层次同时增强细节
同态滤波对数化乘法为加法,压低频、提高频
周期噪声频谱上成对亮斑,用陷波滤波器处理

8.2 十道高频判断题/选择题解析

下面这组题我根据自己翻试卷的经验归纳过,几乎年年有类似选项:

  1. 判断题:图像频谱中心是高频分量。
    错误。中心是低频分量,也就是直流和缓变部分。

  2. 判断题:理想低通滤波器的截止频率越高,图像越模糊。
    错误。截止频率越高,保留的成分越多,图像越接近原图;截止频率越低,模糊越严重。

  3. 判断题:高斯低通滤波器会产生振铃现象。
    错误。高斯函数在频域和空域都没有旁瓣,不会产生振铃。

  4. 判断题:巴特沃斯低通滤波器阶数越高,振铃现象越弱。
    错误。阶数越高越接近理想低通,振铃现象反而越强。

  5. 判断题:DFT 幅度谱决定了图像的主要视觉结构。
    错误。相位谱对结构的决定作用更明显。

  6. 选择题:对实图像做 DFT,其幅度谱具有什么性质?
    答案:关于原点共轭对称,因此幅度谱关于中心对称。

  7. 选择题:图像空间域旋转 45°,其频谱会怎样?
    答案:频谱同样旋转 45°。

  8. 选择题:周期噪声在频域中的典型表现是什么?
    答案:离散的、成对出现的亮斑。

  9. 选择题:同态滤波的第一步操作是什么?
    答案:对图像取对数。

  10. 判断题:降采样之前必须先做低通滤波,否则可能产生混叠。
    正确。混叠产生摩尔纹的根源就是采样频率不足。

8.3 将知识过成动手能力:最后的验收实验

如果你觉得知识点背得差不多了,我建议做一个小实验来验收:生成一张带水平条纹的合成图,加一点高斯噪声,然后分别做三件事——高斯低通去噪、高通提取边缘、陷波器去掉条纹噪声。只要这三个操作能在代码里跑通,并且结果能预期,这一章的核心就算是真学懂了。

这个实验不需要复杂素材,用 NumPy 就能生成:一个灰度渐变背景加上某个频率的正弦条纹,当作输入图像;用 fftshift 观察频谱,能清楚看到条纹对应的两个亮点;再用陷波器把它们置零,逆变换后条纹消失。整个过程恰好覆盖了傅里叶变换、频谱可视化、滤波器设计、逆变换四个核心环节。我自己复习这章时就是这个动作为结尾,比我背诵三遍公式都有效。把公式留在纸上是一回事,能在代码里把频谱“搬来搬去”又是另一回事,后者才是真正掌握了频率域处理。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/2 21:58:06

YOLOv8行人车辆检测数据集实战:从验证集划分到模型训练

简介:面向行人与车辆检测任务的中型标注图像数据集,内含4500张训练图和500张验证图,适合使用YOLOv5等深度学习模型进行目标检测训练与效果评估。压缩包共16821个文件,其中jpg原图5607张,txt格式YOLO标注5607个&#xf…

作者头像 李华
网站建设 2026/10/2 21:56:49

MySQL SSL加密访问配置实战:从证书生成到强制加密完整指南

给MySQL配置SSL加密访问,这事儿我拖了大半年才动手。理由其实很实在:数据库在内网,觉得没人会无聊到去监听交换机流量。直到有一次闲着没事,在自己搭的测试环境里用Wireshark看了一轮客户端和服务端的交互,结果一条UPD…

作者头像 李华
网站建设 2026/10/2 21:53:32

Unity点击事件与UI穿透冲突的通用修正方案

站在Unity开发者的角度,点击事件和UI“打架”这个问题,尤其是“UI弹出时穿透点击到场景物体”“按钮连点触发多次”这两个症状,几乎每个项目都会遇到。我最早做2D手游的时候就吃过亏:玩家疯狂点“关闭”按钮,结果把按钮…

作者头像 李华
网站建设 2026/10/2 21:50:01

Linux磁盘占用排查:du命令从基础到实战完全指南

今天聊一下 Linux 下最常用的磁盘占用排查命令:du。不管你是在生产服务器上看到报警“磁盘空间不足”,还是本地开发环境莫名撑爆了根分区,总得先搞清楚哪个文件、哪个目录把空间给吃掉了。du 就是干这个的。 这个命令的核心能力是递归统计文…

作者头像 李华
网站建设 2026/10/2 21:49:50

SpringBoot+Vue在线教育系统源码:从环境搭建到二次开发全攻略

把这套项目真正跑起来之前,我先说一句大实话:网上号称"可直接运行"的源码很多,但绝大多数你都要花一晚上解决数据库版本、端口冲突、前端代理这三个问题。这套在线教育系统信息管理系统源码,SpringBoot 后端 Vue 前端 …

作者头像 李华
网站建设 2026/10/2 21:49:01

npm install 报错排查全指南:从原理到实战

开门见山说个很多人的困惑:一条npm install敲下去,运气好一杯水没喝完就装完了,运气差能卡在进度条上一个小时,弹出的报错还千奇百怪。更烦的是,同一个项目在别人电脑上一次过,到你手里就翻车。问题的根源在…

作者头像 李华