几种滤波的简单总结

根据网上的相关材料,简单的对几种滤波方法进行总结如下。


1. 限幅滤波(程序判断滤波法)

A.. 方法:
1)根据经验判断, 确定两次采样允许的最大偏差值(设为A)
2)每次检测到新值时判断:
如果本次值与上次值之差小于等于A, 则本次值有效
如果本次值与上次值之差大于A,则本次值无效,放弃本次值,用上次值代替本次值。

B.有点:能有效克服因偶然因素引起的脉冲干扰

D.缺点:无法抑制那种周期性的干扰,平滑度差 

例子:若用到无线信号中,可以用来过滤室内收集到的信号数据(针对静态环境下的数据),一般基准数据可以的。


2.中位值滤波法

A. 方法:
1)连续采样N次(N取奇数),把   N次采样值按大小排列,取中间值为本次有效值(利用冒泡排序可以获取有效的排序序列)

C.优点:能有效克服因偶然因素引起的波动干扰,对温度,液位的变化缓慢的被测参数有良好的滤波效果

D.缺点:对流量,速度等快速变化的参数不宜。

3. 算术平均滤波法

A.方法:连续取N个采样值进行算术平均运算,N值较大时,信号平滑度较高,但是灵敏度较低。
                      N值较小时,信号平滑度较低,但是灵敏度较高。
                      N值的选取,一般流量,N=12,压力,N=4.

B.适用于一般具有随机干扰的信号进行滤波,这种信号的特点是有一个平均值,信号在某一数值范围附近上下波动。

C.对于测量速度较慢或要求数据计算速度较快的实时控制不适用,比较浪费内存。
(采样越多,是否过滤的精度会更好)

4. 递推平均滤波法(滑动平均滤波法)

A.方法: 把连续取得的N个采样值看成一个队列,队列长度固定为N。每次采样到一个新数据放入队尾,并扔掉原来队首的一次数据(先进先出原则)
把队列中的N个数据进行算术平均运算,获得新的滤波结果。

N值选取:流量N=12,压力N=4,液面N=4-12,温度N=1-4

B.优点:对周期性干扰有良好的抑制作用,平滑度高;
适用于高频震荡的系统。

C.缺点: 灵敏度低,对偶然出现的脉冲性干扰的抑制作用交差,不宜消除由于脉冲干扰所引起的采样值偏差,不适用于脉冲干扰比较严重的场合。



5. 中位值平均滤波法(防脉冲干扰平均滤波法)
A.方法: 采一组队列去掉最大值和最小值去平均值,相当于“中位值滤波法+算术平均滤波法”。连续采样N个数据,
去掉一个最大值和一个最小值,然后计算N-2个数据的算术平均值。N值选择:3-14.

B.优点: 对于偶然出现的脉冲性干扰,可消除由其所引起的采样值偏差。对周期干扰优良好的抑制作用,平滑度高,适用于高频震荡系统。

C.缺点:计算速度较慢,和算术平均滤波法一样


6.限幅平均滤波法

A. 方法: 每次采样到新的数据先进行限幅处理,然后在送入队列进行平均滤波处理。
B.优点: 融合了两种滤波法的优点,对于偶然出现的脉冲干扰,可消除由于脉冲干扰所引起的采样值偏差。

C.缺点:比较浪费RAM

7、一阶滞后滤波法

A
、名称:一阶滞后滤波法
B
、方法:
    a=0-1,本次滤波结果=(1-a)*本次采样值+a*上次滤波结果。
C
、优点:
    对周期性干扰具有良好的抑制作用;
    适用于波动频率较高的场合。
D
、缺点:
    相位滞后,灵敏度低;
    滞后程度取决于a值大小;
    
不能消除滤波频率高于采样频率1/2的干扰信号。

8、加权递推平均滤波法
[pre lang="arduino" line="1"]/*
A
、名称:加权递推平均滤波法
B
、方法:
    是对递推平均滤波法的改进,即不同时刻的数据加以不同的权;
    通常是,越接近现时刻的数据,权取得越大。
    给予新采样值的权系数越大,则灵敏度越高,但信号平滑度越低。
C
、优点:
    适用于有较大纯滞后时间常数的对象,和采样周期较短的系统。
D
、缺点:
    对于纯滞后时间常数较小、采样周期较长、变化缓慢的信号;
    
不能迅速反应系统当前所受干扰的严重程度,滤波效果差。



9、消抖滤波法
[pre lang="arduino" line="1"]/*
A
、名称:消抖滤波法
B
、方法:
    设置一个滤波计数器,将每次采样值与当前有效值比较:
    如果采样值=当前有效值,则计数器清零;
    如果采样值<>当前有效值,则计数器+1,并判断计数器是否>=上限N(溢出);
    如果计数器溢出,则将本次值替换当前有效值,并清计数器。
C
、优点:
    对于变化缓慢的被测参数有较好的滤波效果;
    可避免在临界值附近控制器的反复开/关跳动或显示器上数值抖动。
D
、缺点:
    对于快速变化的参数不宜;
    
如果在计数器溢出的那一次采样到的值恰好是干扰值,则会将干扰值当作有效值导入系统。


10、限幅消抖滤波法
[pre lang="arduino" line="1"]/*
A
、名称:限幅消抖滤波法
B
、方法:
    相当于限幅滤波法”+“消抖滤波法
    先限幅,后消抖。
C
、优点:
    继承了限幅消抖的优点;
    改进了消抖滤波法中的某些缺陷,避免将干扰值导入系统。
D
、缺点:
    对于快速变化的参数不宜。
### 常见的图像滤波技术及其特点 在图像处理领域,滤波是一种重要的预处理手段,其目的是通过平滑或锐化操作来增强图像的质量或者提取某些特定特征。以下是几种常见的图像滤波技术以及它们的特点: #### 1. 均值滤波 (Mean Filtering) 均值滤波是一种线性空间域滤波器,它通过对邻域内的像素取平均值的方式减少随机噪声的影响。这种方法适用于高斯白噪声的情况。 - **原理**: 将目标像素周围的像素值求平均作为新的中心像素值。 - **优点**: 能够有效降低加性噪声。 - **缺点**: 可能会模糊掉图像中的边缘和其他细节部分[^3]。 ```python import cv2 import numpy as np # 加载灰度图 image = cv2.imread('example.jpg', cv2.IMREAD_GRAYSCALE) # 应用均值滤波, 使用 5x5 的核 blurred_image = cv2.blur(image, (5, 5)) cv2.imshow('Original Image', image) cv2.imshow('Blurred Image', blurred_image) cv2.waitKey(0) cv2.destroyAllWindows() ``` #### 2. 高斯滤波 (Gaussian Filtering) 高斯滤波也是一种线性滤波器,但它采用的是基于正态分布权重计算的方式来代替简单的算术平均值。相比普通的均值滤波,它可以更好地保留更多的图像细节。 - **原理**: 利用二维高斯函数生成卷积核并作用于输入图片上。 - **优势**: 边缘保持能力较强;适合低频信号去噪。 ```python gaussian_blur = cv2.GaussianBlur(image, (5, 5), sigmaX=0) ``` #### 3. 中值滤波 (Median Filtering) 中值滤波属于一种非线性的滤波算法,主要用于消除脉冲型干扰(椒盐噪声)。它的基本思想是从局部窗口选出中间数值替代当前点位置处的数据。 - **特性**: 对抗尖峰噪音特别有用而不会显著影响其他区域的真实亮度等级变化趋势[^2]. ```python median_filtered = cv2.medianBlur(image, ksize=5) ``` #### 处理边界情况 当执行上述任何一种类型的过滤时,都会遇到如何对待靠近边界的那些无法获得完整邻居集合的问题。通常存在三种策略解决这个问题:忽略这些超出范围的部分不做额外填充、镜像反射扩展原数据序列或者是循环复制末端元素形成周期模式等等。 --- ### 总结 每种滤波方法都有各自适用场景下的优劣之处,在实际项目开发过程中应当依据具体需求选取最合适的方案组合运用才能达到最佳视觉呈现效果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值