Opencv算法在移动/抖动相机中检测移动车辆

Posted

技术标签:

【中文标题】Opencv算法在移动/抖动相机中检测移动车辆【英文标题】:Opencv Algorithm to detect moving vehicle in moving/shaking camera 【发布时间】:2014-02-25 07:48:41 【问题描述】:

当相机为moving/shaking 时,opencv 中有什么方法可以检测到移动的vehicle/object

我已经阅读并实现了opencv 中的各种对象检测算法,但它们也会因为相机抖动而检测到帧的false areas

如果您有任何解决方案,请帮忙。

谢谢。

【问题讨论】:

有一个videotab模块。 【参考方案1】:

这里有两个问题需要解决,

    检测 稳定

对于检测,您的方法很少,但是如果您有各种不同的形状要检测,如果您更愿意尝试级联分类器。,在这里您可以检测到您想要的,但您需要针对您的目标进行训练阶段(正面和负面图像。)。训练你的对象是如此简单。 Here 你找到了一个详细的项目,和你的一样。 Hereopencv 向您解释如何训练您的图像以获得分类器。

为了稳定,我建议你看看跟踪算法。This project 使用 OpenCV 实现了一个基本的实时车道和车辆跟踪。 .如果我是你,我会计算每一对的光流,并通过它们之间的相似性来跟踪它们。 Ma be 你需要在 Opencv 中看到:

    optical flow

    compute the similarity between images

    如果您需要稳定抖动的图像,您必须混合前面的两个步骤。

如果您需要更多解释,请告诉我们

【讨论】:

dervish,我尝试按照您的建议使用光流,您知道相机在移动,汽车也在移动。我已经绘制了流向量。现在的问题是我不知道如何区分移动汽车和晃动相机的流向量。我关注了这个tutorial【参考方案2】:

您可以使用 andrew 和其他一些贡献者在GitHub Go 上写的 BGSLibrary,并在您想要处理的任何视频上尝试一些组合。您可以开发自己的算法并轻松添加到库中。

【讨论】:

以上是关于Opencv算法在移动/抖动相机中检测移动车辆的主要内容,如果未能解决你的问题,请参考以下文章

移动摄像机的视频稳定

在opencv c ++(移动相机)上检测运动

OpenCV:如何检测视频中是不是有快速移动的物体?

确定图像中车辆的距离(Matlab,OpenCV)

如何检测物体边框 opencv

带有 OpenCV 和 OpenGL 的 AR