我正在尝试处理包含 100000 像素波形的一维信号。由于它是通过激光扫描系统获得的,因此它会被一些恼人的散斑噪声破坏。我尝试使用众所周知的非线性图像处理滤波器(例如 Lee 和 Kuan 滤波器)对其进行预滤波,显然针对信号的一维性质进行了修改。
http://www.ncbi.nlm.nih.gov/pmc/articles/PMC2784081/(见引文5,7)
然而,得到的信号与具有相同支持大小(例如 15 px)的“朴素”均值滤波器的结果相同。
由于一维处理,这是“预期”的行为还是我可能编写了错误的代码?你能给我链接一些这些算法的工作代码或其他一些减少斑点的代码吗?我在 codeforge 上找到了一些源代码,但我认为 Lee 和 Kuan 算法没有正确实现。
非常感谢您提前。
编辑:添加了一些信号图像:
1) 原创
2) 平均 1x15
3) 平均 1x15,叠加宽滤波器 1x15,输入参数 nm = 1.0 和 nv = 0.1
4) 平均 1x15,叠加宽滤波器 1x15,输入参数 nm = 1.0 和 nv = 0.2
5) 平均 1x15,叠加宽滤波器 1x15,输入参数 nm = 1.0 和 nv = 0.3
我们可以在 3,4,5 中看到均值和宽没有区别:均值信号与宽滤波器 1 完全一致。
请注意,在像素 50569 处,有一个我想减少的散斑示例,局部平均值为 121.666,局部方差为 16.755。因此可以发现噪声方差的估计为0.13771,然后我根据上述观察尝试了参数。此外,请注意,在像素 50652 处,信号较低,因此去斑效应也较低。在那里,局部均值是 40.933,局部方差是 4.195,比率是 0.102,因此在高峰值上的比率是顺序的。
再次感谢您的关注