图像处理-OpenCV入侵检测



对于我的一个项目,我需要用OpenCV处理图像差异。目标是检测区域中的入侵。

为了更清楚一点,以下是输入和输出:

输入:

  • 参考图像
  • 来自大致相同视角的第二张图像(可能是误差范围)

输出:

  • 检测场景中的新对象

奖金:

  • 识别这些物体

对我来说,最困难的部分是消除微小的差异(亮度、相机位置裕度误差、树木的移动…)

我已经读了很多关于OpenCV图像处理的文章(减法、侵蚀、阈值、SIFT、SURF…),并取得了一些不错的结果。

我想要的是一份你认为最好的检测步骤列表(人类、汽车…),以及每一步的算法。

非常感谢你的帮助。

通过检测进行跟踪,人类跟踪器:

  1. 你应用猪探测器来探测人类
  2. 在前景蒙版上绘制相应的矩形作为前景区域
  3. 您将此掩码传递给"OpenCV视频监控/Blob跟踪器设施"

现在,你可以根据路过的人的斑点对他们进行分组。{x,y}值输入公共/限制区域。

去年我不得不处理这个问题。我提出了一种自适应背景-前景估计算法,该算法产生了前景掩模。

最重要的是,你添加了一个斑点检测器和跟踪器,然后计算斑点和入侵区域之间是否发生了交叉。

Opencv在遗留代码中提供了所有这些的示例。当然,如果你愿意,你也可以使用你自己的或其他版本的这些。

链接:http://opencv.willowgarage.com/wiki/VideoSurveillancehttp://experienceopencv.blogspot.gr/2011/03/blob-tracking-video-surveillance-demo.html

如果相机是静态的,我肯定会从运行平均背景减法开始。然后,您可以使用findContours()来查找入侵对象的位置和大小。如果你想检测场景中四处走动的人类,我建议你使用内置的haar分类器:

http://docs.opencv.org/doc/tutorials/objdetect/cascade_classifier/cascade_classifier.html#cascade-分类器

您只需将xml替换为upperbody分类器。

最新更新