camshift和opencv的组合

时间:2013-04-01 16:48:46

标签: opencv feature-detection surf object-detection video-tracking

我正在尝试使用OpenCV进行对象检测作业。但有些东西让我感到困惑。跟踪&像camshift和kalman滤波器这样的预测算法可以完成跟踪任务,而SURF匹配方法也可以做到这一点。

我不太明白这两种方法之间的区别。我已经完成了一些基于feature2d(使用了SURF)和OpenCV教程的motion_analysis_and_object_tracking(使用camshift)的编码。看起来他们只是一个目的的两种手段。我是对的还是我错过了一些概念?

将camshift跟踪与SURF特征匹配相结合是一种很好的方法吗?......也许可以应用更多的东西,比如轮廓匹配?

1 个答案:

答案 0 :(得分:5)

简短回答是:

  1. 使用关键点(SURF)或任何其他方法检测有趣的对象。
  2. 获取对象的边界矩形并将其作为对象跟踪器的输入传递(例如CAMShift)。
  3. 使用对象跟踪器,除非对象不会丢失。
  4. 对象跟踪是查找对象位置的过程 使用先前帧中的信息。跟踪与之间的区别 检测是当两个过程都定位对象的位置时, detection 不使用以前帧中的任何信息来本地化 对象

    看看"Object Tracking: A Survey" by Alper Yilmaz, Omar Javed and Mubarak Shah。本文包含检测和跟踪技术的全面概述。