我有一组视频,其中包含四处移动的彩色水滴。都是一样的颜色。所有液滴都在同一平面上,所以是 2D 跟踪。
目前我正在使用混合高斯进行背景减除和液滴检测,图像分割的结果非常好。
下一步是跟踪它们以计算速度。目前我只是重叠两个连续的帧。假设帧“i”和“i+1”。给定第 i+1 帧中的一个液滴,我将它分配给它在第 i 帧中最近的液滴。我的阈值是 30 像素,所以我只考虑 30 像素半径内较近的液滴。
当水滴的移动速度不快且场景未聚集时,此方法非常有效。但是我的场景中聚集着水滴(我的意思是大约 15-20 个),它们移动得非常快,并且帧完全重叠。有时它只是丢失了一个液滴(跟踪,而不是分割),因为它移动了超过 30 个像素,或者它将它分配给另一个更靠近先前位置的液滴。
我想知道 OpenCV 是否有任何功能可以帮助我解决这个问题。很好的分割,糟糕的跟踪。我以前(不是在这个项目中)使用过粒子过滤器来使用对象的动态来预测它可能在哪里。
最佳答案
您可以在此处找到我的多对象跟踪器项目,其中包含 C++ (vs2010) 源代码:http://www.youtube.com/watch?v=2fW5TmAtAXM 它是使用此处的 MATLAB 教程实现的:http://studentdavestutorials.weebly.com/
关于python - OpenCV 是否具有多目标跟踪功能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19596614/