您好,我目前正在使用 HOG 和 Haar Cascade 的 OpenCV 实现来执行行人检测并将他们限制在视频源上。
但是,我想为每个进入视频源的行人分配一个唯一的 ID(编号),该 ID 保持不变,直到行人离开视频源。由于在不考虑前一帧的情况下一个接一个地处理帧,我不确定如何以最简单但有效的方式实现这一点。
我真的需要使用像 camshift 或 Kalman 这样的跟踪算法吗?我对这些算法一无所知,但确实需要一些帮助。或者有没有更简单的方法来实现我想要的?
附言:这个video这就是我想要实现的。事实上,我之前在这里发布了一个类似的问题,但更多的是针对检测技术,这是针对分配唯一标识符的下一步。
最佳答案
一个简单的解决方案:
跟踪矢量中的对象。
如果您计算一个新帧,对于每个对象:搜索存储在您的 Vector 中最近的对象。如果存储的对象和您当前对象之间的距离低于某个阈值,则它是同一个对象。
如果未找到匹配项,则对象是新的。最后,删除 Vector 中与当前帧的对象无关的所有对象。
关于opencv - 具有唯一标识符的行人检测,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20145076/