数字图像处理这门课,理论上讲,前几章再零碎,大家照着例题还是能把作业写出来的。但到了第四章频率域图像处理,大多数人的反应会突然慢下来:坐标系成了 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 为什么流程里一定有中心化和去中心化
频域滤波的标准步骤看起来复杂,其实每条都是必要的。最常用的流程是这样:
- 读入灰度图像,转为 float 类型。
- 对图像乘 (-1)^(x+y),把频谱原点移到中心;或直接采用 fftshift 替代。
- 做二维 FFT,得到 F(u,v)。
- 设计滤波器 H(u,v),尺寸与图像一致,和 F 逐元素相乘:G(u,v) = F(u,v)·H(u,v)。
- 对 G 做 ifftshift(去中心化)。
- 做逆 FFT,得到复数结果。
- 取结果的实部,丢弃浮点误差导致的虚部。
- 对结果做灰度归一化或截断,转成 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选择经验
三种低通滤波器的对比,放在一起看更直观:
| 滤波器类型 | 传递函数 | 截止处增益 | 振铃 | 特点 |
|---|---|---|---|---|
| 理想低通 ILPF | 1 if D≤D0, 0 otherwise | 1→0 突变 | 明显 | 理论清晰,实际不可用 |
| 巴特沃斯 BLPF | 1/(1+(D/D0)^(2n)) | 0.5 | 一阶无,高阶渐显 | 过渡带可调 |
| 高斯 GLPF | exp(-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 同态滤波的流程与传递函数
完整流程是这样的:
- 对原始图像取对数。
- 对对数图像做 FFT。
- 用同态滤波器 H(u,v) 乘频谱,压低低频(照射分量),提升高频(反射分量)。
- 逆 FFT,取实部。
- 对结果做指数运算,还原到原始灰度量级。
同态滤波器的传递函数有多种形式,常见的是这个:
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 十道高频判断题/选择题解析
下面这组题我根据自己翻试卷的经验归纳过,几乎年年有类似选项:
判断题:图像频谱中心是高频分量。
错误。中心是低频分量,也就是直流和缓变部分。判断题:理想低通滤波器的截止频率越高,图像越模糊。
错误。截止频率越高,保留的成分越多,图像越接近原图;截止频率越低,模糊越严重。判断题:高斯低通滤波器会产生振铃现象。
错误。高斯函数在频域和空域都没有旁瓣,不会产生振铃。判断题:巴特沃斯低通滤波器阶数越高,振铃现象越弱。
错误。阶数越高越接近理想低通,振铃现象反而越强。判断题:DFT 幅度谱决定了图像的主要视觉结构。
错误。相位谱对结构的决定作用更明显。选择题:对实图像做 DFT,其幅度谱具有什么性质?
答案:关于原点共轭对称,因此幅度谱关于中心对称。选择题:图像空间域旋转 45°,其频谱会怎样?
答案:频谱同样旋转 45°。选择题:周期噪声在频域中的典型表现是什么?
答案:离散的、成对出现的亮斑。选择题:同态滤波的第一步操作是什么?
答案:对图像取对数。判断题:降采样之前必须先做低通滤波,否则可能产生混叠。
正确。混叠产生摩尔纹的根源就是采样频率不足。
8.3 将知识过成动手能力:最后的验收实验
如果你觉得知识点背得差不多了,我建议做一个小实验来验收:生成一张带水平条纹的合成图,加一点高斯噪声,然后分别做三件事——高斯低通去噪、高通提取边缘、陷波器去掉条纹噪声。只要这三个操作能在代码里跑通,并且结果能预期,这一章的核心就算是真学懂了。
这个实验不需要复杂素材,用 NumPy 就能生成:一个灰度渐变背景加上某个频率的正弦条纹,当作输入图像;用 fftshift 观察频谱,能清楚看到条纹对应的两个亮点;再用陷波器把它们置零,逆变换后条纹消失。整个过程恰好覆盖了傅里叶变换、频谱可视化、滤波器设计、逆变换四个核心环节。我自己复习这章时就是这个动作为结尾,比我背诵三遍公式都有效。把公式留在纸上是一回事,能在代码里把频谱“搬来搬去”又是另一回事,后者才是真正掌握了频率域处理。