Ble*_*der 13 python statistics list frequency-distribution frequency-analysis
我正在开发一个需要实现一组数据摆动的软件.这是我将收到的输入样本,与每个垂直像素带的亮度图合并:

很容易看出左边距确实很晃动(即有一吨最小/最大值),我想生成一组图像的关键点.我已经对数据应用了高斯平滑函数~10次,但它开始时看起来很晃动.
有任何想法吗?
这是我的原始代码,但它不会产生非常好的结果(为了摆动):
def local_maximum(list, center, delta):
maximum = [0, 0]
for i in range(delta):
if list[center + i] > maximum[1]: maximum = [center + i, list[center + i]]
if list[center - i] > maximum[1]: maximum = [center - i, list[center - i]]
return maximum
def count_maxima(list, start, end, delta, threshold = 10):
count = 0
for i in range(start + delta, end - delta):
if abs(list[i] - local_maximum(list, i, delta)[1]) < threshold: count += 1
return count
def wiggliness(list, start, end, delta, threshold = 10):
return float(abs(start - end) * delta) / float(count_maxima(list, start, end, delta, threshold))
Run Code Online (Sandbox Code Playgroud)
看看低通/高通/陷波/带通滤波器,傅里叶变换或小波.基本思想是有很多不同的方法来计算在不同时间段量化的信号的频率内容.
如果我们能弄清楚什么是晃动,那会有所帮助.我会说最左边的边缘是摇摆的b/c它有更多的高频内容,你可以使用傅立叶变换进行可视化.
如果您使用该红色信号的高通滤波器,您将获得高频内容,然后您可以测量振幅并执行阈值以确定晃动.但我觉得摆动只需要更多的形式主义.