滑动中值滤波算法详解

发布时间:2026/9/23 4:18:50

滑动中值滤波算法详解 1、什么是滑动中值滤波滑动中值滤波Moving Median Filter属于非线性滤波非常适合去除信号里的脉冲噪声、尖峰毛刺、跳变干扰广泛用于传感器数据、嵌入式 ADC 采样、图像去噪。核心思想设置一个固定大小的滑动窗口窗口沿着数据序列一步步向后滑动把窗口内所有数据排序取中位数作为当前点输出值。和均值滤波区别均值滤波窗口取平均值容易被异常大 / 小尖峰带偏会抹平边缘突变中值滤波取中位数对孤立尖峰噪声免疫保留信号阶跃边沿2、原理举例假设原始采样序列[12, 13, 15, 120, 14, 11, 13]窗口大小 window_size 3奇数最常用窗口 1[12,13,15] → 排序 [12,13,15] → 中位数 13窗口 2[13,15,120] → 排序 [13,15,120] → 中位数 15120 尖峰直接被过滤掉窗口 3[15,120,14] → 排序 [14,15,120] → 中位数 15窗口 4[120,14,11] → 排序 [11,14,120] → 中位数 14窗口 5[14,11,13] → 排序 [11,13,14] → 中位数 13输出结果[13,15,15,14,13]可以看到 120 这个突变噪声直接消除没有被平均稀释。⚠窗口一般选奇数3、5、7。偶数窗口需要取中间两数平均工程很少用。边界处理重点原始信号开头、结尾窗口不够数据截断模式最简单嵌入式用舍弃前后 (win‑size‑1)/2 个点输出变短复制填充复制第一个 / 最后一个值补齐窗口镜像填充镜像复制边界数据图像常用嵌入式单片机一般用截断模式。3、优缺点✅优点抑制脉冲尖峰、跳变噪声效果极强传感器跳变毛刺首选保留阶跃、突变边沿不会像均值滤波把跳变磨圆滑逻辑简单适合 STM32、ESP32 等嵌入式设备❌缺点对高斯白噪声抑制不如均值滤波窗口越大信号相位滞后延迟越大窗口 N会带来 (N‑1)/2 个采样点延迟需要排序窗口大的时候 CPU 开销上升会把信号本身短暂真实尖峰一并滤掉容易误删真实突变工程权衡窗口不要盲目开大一般传感器优先窗口 3/5。4、滑动实现两种思路方式 A每次窗口全部重新排序简单小窗口首选窗口 3/5每次滑动取出窗口内全部数据sort 排序取中值。代码最简单嵌入式小窗口完全够用。方式 B滑动窗口维护有序队列高效大窗口窗口向右滑动删掉离开窗口的旧元素插入新进来的元素维持有序列表直接取中间索引避免每次完整排序。适合窗口 7 以上减少排序计算量。5、Python 示例代码简单重排版6、C 语言极简嵌入式版本STM32 / 单片机可用窗口 5#include stdio.h#include stdlib.h#define WINDOW 5#define HALF_WIN (WINDOW/2)// 简单冒泡排序static void sort_buf(int *buf, int n){for(int i0;in;i){for(int j0;jn-1-i;j){if(buf[j]buf[j1]){int tbuf[j];buf[j]buf[j1];buf[j1]t;}}}}//输入原始数组输出滤波数组void moving_median_filter(int *in, int *out, int len){int window[WINDOW];int out_idx 0;// 边界截断跳过开头HALF_WIN个点for(int iHALF_WIN; i len-HALF_WIN; i){for(int k0;kWINDOW;k){window[k] in[i - HALF_WIN k];}sort_buf(window, WINDOW);out[out_idx] window[HALF_WIN];}}int main(void){int raw[]{12,13,15,120,14,11,13,14,16};int res[10]{0};moving_median_filter(raw,res,9);return 0;}单片机注意窗口越大排序耗时越高ADC 实时采样优先用窗口 3。7、工程实操要点窗口选择偶尔尖峰毛刺窗口 3噪声频繁跳变窗口 5尽量避免 7延迟大CPU 负担重与均值滤波组合先中值去尖峰再均值平滑白噪声传感器常用组合滤波。延迟问题滑动中值会带来时间滞后做闭环控制时滞后会影响控制稳定性控制场景谨慎开大窗口。注意区分中值滤波抑制脉冲噪声均值滤波抑制高斯噪声
延伸阅读

更多相关文章

2026/9/23 4:17:23

小学生学C++编程语法知识(C++类初始化详解(一))

C类初始化详解(一):很多同学第一次学习类(class)时,会觉得:“我创建一个对象,不就是给变量赋值吗?为什么还要学习构造函数、初始化列表?”其实,类…

2026/9/23 2:51:53

珍珠棉设备和普通发泡机的区别,关键在这里

为什么你的珍珠棉总是回弹性差、易碎裂? 你是不是也遇到过这种情况:采购的珍珠棉(EPE)片材看起来厚实,但一压就塌、回弹慢,甚至运输途中就碎成渣?很多厂家以为是原料问题,其实根源往…

2026/9/23 4:17:31

基于Python的TCP入侵检测系统:端口扫描与SYN Flood防御实战

简介:基于Python构建的TCP入侵检测系统,面向毕业设计、课程设计及网络安全方向项目开发。系统围绕TCP请求频率、SYN/FIN/NULL等flag标志位比例、未开放端口请求比例三项核心指标,可识别端口扫描、Dos攻击及爬虫行为,并联动iptable…

2026/9/23 4:17:31

SSM铁艺家居商城系统设计与实现——从数据库到前端全解析

最近帮人调了一个SSM版本的铁艺家居商城项目,标题写的是java_ssm11特色铁艺家居家具商城销售系统的设计与实现_idea项目源码,说白了就是一个典型的前后台单体Web应用:Spring管理对象和事务、SpringMVC负责请求分发、MyBatis处理数据库操作&am…

2026/9/23 4:17:31

AI Coder现状与Qwen Coder Mac本地部署实战指南

看到“coder”这个标题,你多半不是来寻找身份认同的——虽然程序员群体确实经常用这个词自称。最近一段时间,后台和社群里被问得最多的一批搜索词,基本就是“qwen coder mac 部署”“ai coder 代码生成现状”“coder咋下载”“kh coder”。这…

2026/9/23 4:17:31

构建安全审计Skill:AI编程助手时代的代码安全自动化实践

前阵子在给项目做代码审计的时候,我突然意识到一个问题:现在AI编程助手已经能帮我们写大部分业务代码了,但在代码安全这块,它们的能力其实相当不均衡——很多模型默认生成的代码,SQL拼接、反序列化、越权接口&#xff…

2026/9/23 4:12:31

模糊人脸图像增强实战:从物理退化建模到Django部署

简介:本资源是一套高分毕业设计项目——基于Python深度学习的模糊人脸图像增强系统,面向计算机类专业本科生及初阶AI学习者,解决低质量监控或抓拍人脸图像的清晰度重建问题,适用于毕设、课程设计、项目演示与深度学习实践入门。压…

2026/9/22 10:02:42

GAMP 5 基于风险的计算机化系统验证:软件分类与审计追踪实践

简介:《A Risk-Based Approach to Compliant GxP Computerized Systems》即业内熟知的GAMP 5指南,面向制药企业质量与IT合规人员、验证工程师及计算机化系统管理者,用于解决GxP法规环境下系统合规性难以科学落地的问题。文档以风险管理为主线…

2026/9/22 9:07:39

安全托管MSSP实战:从静态防御到人机协同的攻防运营与应急响应

简介:这份PPT围绕互联网业务安全托管服务展开,面向企业安全负责人、IT运维人员及关注MSSP/MSS选型的读者,重点回应传统安全过度依赖人工、碎片化静态防御难以对抗产业化攻击等痛点。资源共1个pptx文件,包体约30.63MB,以…

2026/9/23 0:01:54

3个实战技巧搞定形式英语:从看教程到跑通性能优化

3个实战技巧搞定形式英语:从看教程到跑通性能优化 看了一堆教程还是不会写项目?别慌,这种“眼高手低”的困境在开发者圈子里太常见了。很多人以为卡点在语法,其实真正拦路虎是缺乏将知识点串联成完整链路的能力。今天咱们不聊虚的,直接拿【形式英语】这…

2026/9/22 16:34:32

USB Type-C PCB布局分区设计:电源、高速信号与PD协议全攻略

做硬件这行,Type-C接口算是典型的“看着简单,做起来全坑”的东西。光引脚就24个,高低速信号、电源、控制线全部塞在一个小小的连接器里,如果PCB布局不做规划,打样回来基本就是“插上没反应”、“高速掉线”、“静电一打…

2026/9/22 20:01:30

系统编程学习原型如何补齐稳定性边界

系统编程学习原型如何补齐稳定性边界预算有限时&#xff0c;我先优化明显多余的复制&#xff0c;而不是猜测性地换容器。用借用传递只读数据通常就能减少分配&#xff1a; fn parse(line: &str) -> Result<Item, Error> { /* ... */ }用基准确认热点确实在分配&am…

2026/9/22 13:25:41

雨花区哪家财务公司代理记账比较好?

在雨花区&#xff0c;企业处理财税事务常常面临诸多挑战&#xff0c;选择一家靠谱的财务公司至关重要。湖南巨勤财务管理咨询有限公司就是本地正规实体财税服务机构&#xff0c;深耕本地工商财税行业多年&#xff0c;熟悉当地工商局、税务局最新政策与申报流程。主营公司注册、…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
咨询二维码