使用opencv跟踪移动车辆的可能方法

时间:2012-11-06 17:26:24

标签: c++ opencv machine-learning computer-vision object-detection

我正在做一个项目,我必须能够跟踪进入和离开某个区域的汽车的移动。我正在使用带有C ++的OpenCV库。在搜索了所有功能后,我不确定使用哪种方法。我正在考虑使用opticalFlow进行移动并为进入/退出设置两个感兴趣的区域,但我不确定如何检测实际车辆。任何更有经验的OpenCV能为我提供一些见解吗?

非常感谢任何帮助。

2 个答案:

答案 0 :(得分:3)

您应首先检测进入图像的对象。我想你有一个不动的固定相机。如果是这样,您可以从背景减法技术开始:使用固定相机,并且没有任何对象移动到图像/从图像移动,您可以估计图像中每个像素的颜色(或其他一些属性)的高斯模型。之后,您可能需要重新估计模型,以使其适应光照等变化。估计模型后,您可以检测从图像进入和移动的对象,因为其中的像素将具有除预期之外的值。然后,重新获得光流以在图像中跟踪它们。

答案 1 :(得分:1)

Genis的答案肯定是一个好的答案。如果照明条件不会发生很大的变化,并且相机处于汽车物体不会重叠的角度,那么背景减法和斑点检测可能是最好的方法。

就我个人而言,我会在矢量上直接进行光流和分段。如果处理时间至关重要,您可以在Sobel边缘图像上运行光流。

有很多方法可以给这只猫上皮。也许如果您发布了一些场景的屏幕截图,您将获得更具体的解决方案。