如何使用openCV检测视频中的运动

时间:2014-12-09 03:53:04

标签: java opencv video-streaming motion

我是OpenCV的新手,我想通过openCV检测视频中的动作。让我们说视频是一个板球比赛,然后我想通过使用他们的动作来检测谁是击球手以及谁是投球手。任何人都可以指导我如何使用示例或一些相关视频来做到这一点。您的所有评论都非常感谢。

2 个答案:

答案 0 :(得分:2)

由于我对图像处理的理解有限,我觉得接受答案中的方法(特别是哈尔分类器)可能不是你的最佳选择。

阅读以下内容

  1. 基于光流的处理 - 这将有助于您识别动作。
  2. 背景扣除 - 地面颜色通常为绿色,球员服装也有颜色。
  3. 轮廓 - 它们可让您识别形状。
  4. Hough Line变换 - 您的视频流中会有行。
  5. 边缘检测
  6. 我假设做这个项目的目的之一是学习图像处理,而不是为了得到结果。训练一个haar xml来识别一个带有+ ve / -ve图像样本的击球手/投球手更像是重复性的工作,而不是真正的学习过程。此外,您将需要花费大量时间收集样本,然后在失败时重新训练xmls等。另外,用于物体检测的haar分类器不适用于所讨论的运动检测。

    Aishack website有一些带有图像处理想法的参考项目。等待专家对此问题的更多回复。

答案 1 :(得分:0)

查看对象识别和Haar分类器,特别是OpenCV库的train_cascade方法。你需要大量的每个玩家类型的静态样本及其典型动作,然后训练分类器,然后分析视频帧以挑出它们。你前面有一条漫长但令人敬畏的道路。