第4章 信号与图像处理


文档摘要

第4章 信号与图像处理 章节摘要:现实中的数据很少是干净整齐的表格,它们更多是传感器采回来的波形、设备录下来的振动、显微镜拍出来的照片。本章处理的就是这一类数据:先教你把一段时域信号拆成频率成分,用 scipy.fft 做频谱分析;再教你在频域里做文章,用 scipy.signal 设计滤波器,把噪声和工频干扰按频率砍掉;随后把同样的思路延伸到二维,用 scipy.ndimage 给图像去噪、做形态学分析、数出图中的连通对象。读完本章,你将拥有"频谱分析 → 滤波去噪 → 图像处理"的完整动手链路,并能独立完成一个信号清洗与频谱验证的小项目。整章节奏与前面几章一致:每节先给能跑的代码,再讲原理、取舍与坑,适合边读边敲。

第4章 信号与图像处理

章节摘要:现实中的数据很少是干净整齐的表格,它们更多是传感器采回来的波形、设备录下来的振动、显微镜拍出来的照片。本章处理的就是这一类数据:先教你把一段时域信号拆成频率成分,用 scipy.fft 做频谱分析;再教你在频域里做文章,用 scipy.signal 设计滤波器,把噪声和工频干扰按频率砍掉;随后把同样的思路延伸到二维,用 scipy.ndimage 给图像去噪、做形态学分析、数出图中的连通对象。读完本章,你将拥有"频谱分析 → 滤波去噪 → 图像处理"的完整动手链路,并能独立完成一个信号清洗与频谱验证的小项目。整章节奏与前面几章一致:每节先给能跑的代码,再讲原理、取舍与坑,适合边读边敲。

第4章 信号与图像处理

上手前先明确

阅读完本章,你应当能够:

  1. 用 scipy.fft 对一段采样信号做频谱分析,正确解释幅值谱横轴与纵轴的含义;
  2. 用采样定理与频率分辨率判断一组采样参数能否看清目标频率,避免混叠与误读;
  3. 在 butter、cheby1、ellip 之间做出选择,用 sos 形式设计数值稳定的滤波器;
  4. 区分 lfilter 与 filtfilt 的相位行为,在实时与离线场景中选对应用方式;
  5. 用 scipy.ndimage 完成图像去噪、形态学处理与连通域计数;
  6. 独立完成一个含工频干扰的信号去噪案例,并用频谱对比验证效果;
  7. 说清 scipy.ndimage 与 skimage 的分工边界,知道下一步该去哪里找工具。

核心概念速览

一句话记住本章:先看清频谱里有什么,再决定动哪一刀;一维信号靠 fft 与 signal,二维信号交给 ndimage。

上图把本章的武器分成两组:左边一列是信号链路——采样信号先进 fft 看清频谱,再交给 signal 滤波,得到干净波形;右边一列是图像链路——图像矩阵交给 ndimage,完成去噪与对象计数。两条链路共享同一套思想:先分析,再处理,后验证。图里的每一步,都在后面四个小节里有一节对应。

子章节导航

4.1 快速傅里叶变换

从一段能跑的频谱分析代码开始,讲清 scipy.fft 相对 numpy.fft 的三个优势:后端切换、实数变换家族、配套频率轴工具。随后进入两个绕不开的概念——采样定理决定了你能看到多高的频率,窗函数决定了频谱会不会"漏油"。这一节给你装上"频谱眼"。

4.2 信号处理与滤波

把"看清楚"升级为"动手改":用 butter、cheby1、ellip 设计滤波器,用 lfilter 做因果滤波、filtfilt 做零相位滤波,用 sos 形式保证高阶滤波器的数值稳定。最后用移动平均与 IIR 滤波的正面对比,说明为什么频域思维能省掉大量试错。配图是一张滤波前后频谱对比示意,帮你把"频域验收"变成直觉。

4.3 图像处理与ndimage

把一维信号换成二维数组:高斯滤波与中值滤波的取舍、形态学四件套对二值图的操作、label 与 find_objects 的连通域计数与对象定位,以及 rotate 与 zoom 的几何变换。结尾划清 scipy.ndimage 与 skimage 的边界,免得在错误的位置找工具。

4.4 实战:信号滤波与频谱分析

把前三节串成一条流水线:一段含 50 赫兹工频干扰的振动信号,先频谱定位,再带阻与低通组合滤波,最后用频谱对比验证效果;后半部分处理一张带噪图像,对比中值与高斯滤波。配图是一张滤波器选型流程,把四种干扰场景的应对方式画在一张图上。这是一次完整的"分析—设计—验证"演练。

子章节之间的逻辑关系

本章的顺序不是随意的:频谱分析是滤波的前提,一维经验是二维图像的基础。你不知道噪声在哪个频率,就没法设计滤波器;你理解了"按频率做手脚"的一维逻辑,再去看二维图像的去噪与形态学,会顺很多。

采样数据 │ ▼ 4.1 频谱分析:先看清信号里有什么 │ ▼ 4.2 滤波去噪:按频率砍掉干扰与噪声 │ ▼ 4.3 图像处理:把一维经验搬到二维数组 │ ▼ 4.4 实战:频谱验证 加 滤波 加 图像去噪 全链路

4.1 与 4.2 构成"分析—设计"闭环:先定位,再动手。4.3 是同一套思想在二维的延续,滤波、去噪的概念一脉相承。4.4 则是把三节知识放进一个真实场景里做验收,你会发现流程比函数更重要。反过来看,跳过 4.1 直接读 4.2,滤波器参数会像咒语;跳过 4.2 直接进 4.4,验证环节无从下手。把 4.1 的频谱眼练好,后面整章都会轻松。

前置知识与后续延伸

  • 前置:熟悉 NumPy 数组的切片与广播(见第 1 章),会读基本的时间序列数据;理解正弦波的频率与振幅概念即可,不需要系统学过傅里叶变换——4.1 会用直觉方式补齐,公式能跳过就跳过。环境上需要能跑 NumPy 与 SciPy 的 Python 环境,第 1 章已搭建好;示例涉及 matplotlib 画图,但不装也不影响理解。
  • 为后续铺垫:本章的频谱思想在第 5 章的统计检验中会再次出现,功率谱密度估计就是 FFT 与统计的结合;第 6 章的气象数据分析管线里,去除仪器噪声、平滑曲线都要用到本章的滤波工具。图像处理部分则为你进入 skimage、OpenCV 等专门库打了底子——工具可以换,数组思维不变。想深入的话,窗函数家族(汉宁、汉明、布莱克曼)与滤波器设计规格(通带纹波、阻带衰减)可以查信号处理教材,本教程只给工程够用的版本。

作者与出处
原作者: 灏天文库
来源:灏天文库
整理: 灏天文库整理
由灏天文库平台收录,内容或由平台用户上传,仅供学习交流
发布者: 作者: 灏天文库 转发
评论区 (0)
U