对不起,我的问题太广了,但我会尽力详细解释我的问题。
所以,我刚写了一个程序,检查两个不同颜色的球是否在碰撞轨道上。我使用RGB-> HSV变换,有一个黄色球,一个蓝色,我检查它们在不同帧上的位置,我计算它们的速度,方向等,之后,我预测它们是否可能发生碰撞。所以,之后我认为基于颜色的检测不是最好的解决方案,我想检测超过2个对象,所以我认为我应该使用边缘滤波器,或MOG2算法,或类似的东西,我仍然在考虑,但那不是我想问的问题(但是如果有人能给我建议的话,那会很棒:))
所以当我有一个二进制图像时,例如,2个物体 - 相同大小的两个球,我要检查它们的位置,好吧,所以在第一帧中,一个物体的位置有坐标X1和Y1,第二个X2和Y2。接下来我要分析第二帧,所以还有两个相同的对象,首先是X3和Y3坐标,第二个是X4和Y4,但是我的程序现在如何从1帧和2帧的第一个对象是同一个对象,如果这两个对象具有相同的形状和大小,程序将有一个问题是正确地将新位置分配给同一个对象,因为它可以将它分配给另一个对象。在HSV中它很容易,因为当计算机检测到例如黄色物体时,它知道它与前一帧中的黄色物体相同(因为它只是一个黄色物体)。我知道我描述的有点乱,但我希望你明白我的意思
在我看来,唯一允许从前一帧分配检测到的物体的东西是它们的位置略有变化,但是当我开始考虑它时,它并不那么容易,因为,例如,检查新发现的物体与前一帧物体之间的距离,并在最小距离的基础上将它们连接起来可能会在许多情况下出现故障。
所以我想知道这样的解决方案是否可行,以及是否有任何现成的算法可以让我分析对象前面步骤中的位置。
感谢您的时间,祝您度过愉快的一天:)