Algorithm 防止值在两个'的边上时在两个值之间反弹的算法策略;桶';

Algorithm 防止值在两个'的边上时在两个值之间反弹的算法策略;桶';,algorithm,opencv,signals,noise,buckets,Algorithm,Opencv,Signals,Noise,Buckets,我在OpenCV(Python)中实时跟踪各种颜色的球。跟踪非常稳定。i、 e.静止时,圆心的数值变化不超过1/2像素 然而,我遇到了一个必须经过充分研究的问题:我现在需要将球的位置放在一个更粗糙的网格中——基本上就是简单地划分(+舍入)x,y位置 e、 g 我也是:楼层(输入/5) 这很好,但当初始值的微小变化可能导致快速变化输出(即在分区的“边缘”)或“敏感”区域时,就会出现问题 input: [4 5 4 5 4 5 5 4 ...] output:[0 1 0 1 0 1 1 0 ...

我在OpenCV(Python)中实时跟踪各种颜色的球。跟踪非常稳定。i、 e.静止时,圆心的数值变化不超过1/2像素

然而,我遇到了一个必须经过充分研究的问题:我现在需要将球的位置放在一个更粗糙的网格中——基本上就是简单地划分(+舍入)x,y位置

e、 g

我也是:楼层(输入/5)

这很好,但当初始值的微小变化可能导致快速变化输出(即在分区的“边缘”)或“敏感”区域时,就会出现问题

input: [4 5 4 5 4 5 5 4 ...]
output:[0 1 0 1 0 1 1 0 ...]
i、 e.值4和5(与1像素误差/噪声裕度一致)导致输出快速变化

有哪些策略/算法可以解决这些问题,从而进一步帮助我

我搜索过,但似乎我不知道如何正确地表达谷歌(或StackOverflow)的问题

我试着加上“死区”。i、 e.我在输出范围内留下“间隙”,这意味着某个值有时没有输出(即在“桶”之间),而不是纯粹的除法。这有点有效,但意味着我有很多屏幕(即波动范围)没有使用

i、 e

时间平均值并不理想(也不太理想),而且会增加延迟


我只是有一种“预感”,关于这一点,有一整套计算机/信号科学

我猜你要找的术语是在你的例子中,
[4,5,4,5,…]
=>
[0,1,0,1,…]
,你想要的输出是什么?用三种可能的输出实现“死区”概念:0,1和“无变化”。@Dan:的确是迟滞——神奇的字眼。Alexander:事实上,没有“正确”的方法来获得“输出”——我在寻找一种处理这种情况的技术(即经验证的示例)。i、 e.不是“纯功能”解决方案。Prune:这是一个更清晰的解释,非常容易实现,同时仍然提供输出。。。将实现这一点,并与Dan的关键措辞一起寻找最佳方式。Thx to Dan很快发现了更多的深度:在中,我猜您正在寻找的术语是在您的示例中的
[4,5,4,5,…]
=>
[0,1,0,1,…]
,您想要的输出是什么?使用三种可能的输出实现“死区”概念:0,1,“没有改变”。@Dan:的确是迟滞——神奇的字眼。Alexander:事实上,没有“正确”的方法来获得“输出”——我在寻找一种处理这种情况的技术(即经验证的示例)。i、 e.不是“纯功能”解决方案。Prune:这是一个更清晰的解释,非常容易实现,同时仍然提供输出。。。将实现这一点,并与Dan的关键措辞一起寻找最佳方式。Thx对Dan很快发现了更多的深度:在和
input:  [0 1 2 3 4 5 6 7 8 9] 
output: [0 0 0 0 0 1 1 1 1 1]
input: [4 5 4 5 4 5 5 4 ...]
output:[0 1 0 1 0 1 1 0 ...]
input =  [0 1 2 3 4 5 6 7 8 9]
output = [0 0 0 0 x x 1 1 1 1]