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

问题描述 投票:2回答:2

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

java opencv video-streaming motion
2个回答
0
投票

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


2
投票

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

阅读以下内容

  1. 基于光流的处理 - 这将帮助您识别运动。
  2. 背景减法 - 地面颜色通常是绿色,玩家的衣服也有颜色。
  3. 轮廓 - 它们可以让您识别形状。
  4. 霍夫线变换 - 视频流中会有线条。
  5. 边缘检测

我假设做这个项目的意图之一是学习图像处理而不是为了得到结果。训练haar xml用于识别具有+ ve / -ve图像样本的击球手/投球手更像是重复性工作而不是真正的学习过程。更重要的是,你需要花费大量的时间来收集样本,然后在失败时重新训练xmls等。另外,用于物体检测的haar分类器不用于如上所述的运动检测。

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

© www.soinside.com 2019 - 2024. All rights reserved.