
假设我们有一个包含一组数据的列表,需要使用值滤波来平滑这些数据。以下是一个均值滤波计算的简单例题:
原始数据:[4, 5, 6, 3, 7, 9, 8, 6, 2, 1]
假设我们使用一个窗口大小为3的均值滤波器,计算每个数据点的平均值。窗口大小表示每次计算平均值时所涵盖的数据点个数。
计算过程如下:
第一个数据点4,窗口内数据为[4],平均值为4。
第二个数据点5,窗口内数据为[4, 5],平均值为4.5。
第三个数据点6,窗口内数据为[4, 5, 6],平均值为5.
以此类推,依次计算每个数据点的平均值。
最终得到平滑后的数据为:[4, 4.5, 5, 5.6667, 6.6667, 7.3333, 7.6667, 5.3333, 3, 1.6667]
可以看到,均值滤波通过计算窗口内的数据的平均值,将原始数据的噪声平滑掉,得到了平滑的数据序列。窗口大小越大,滤波效果越明显,但也会使得平滑后的数据的响应变慢。因此,在使用均值滤波器时需要根据具体情况选择合适的窗口大小。
均值滤波:是用3×3邻域的9个数值,求取平均值代替邻域中心点的值 对灰色区域部分, 以左上角数值为15的点为例,均值滤波后该点值应该=(1+2+2+1+2+1+2+1+15)/9=3 以正中间数值为2的点为例,均值滤波后该点值应该=(15+1+2+0+3+2+2+1+2)/9=28/9 其他点也是同样的方法来求取 中值滤波: 是把3×3邻域的9个数值按大小顺序排列,以序列中间的数值代替邻域中心点的值 对灰色区域部分, 以左上角数值为15的点为例,3×3邻域按数值从小到大顺序排列 {1 1 1 1 2 2 2 2 15},中间点为2,中值滤波后该点值应该为2 以正中间数值为2的点为例,3×3邻域按数值从小到大顺序排列 {0 1 1 2 2 2 2 3 15},中间点为2,中值滤波后该点值应该为2 其他点也是同样的方法来求取