代码之家  ›  专栏  ›  技术社区  ›  Ale K.

如何进行简单的球跟踪?[已关闭]

  •  -1
  • Ale K.  · 技术社区  · 10 年前

    我在.Net下从事这个项目(是的,我知道,我应该使用不同的东西)。其想法是能够跟踪球在桌子上移动,照明情况通常相同,背景是静止的背景,没有其他物体干扰,始终只有一个球被跟踪。

    视频采集部分已经完成,因为我在球运动时捕捉到25帧/秒,所以我得到了25张不同球位置的图像,以及一张背景初始图像,这样我就可以运行过滤器来尝试只提取球并找到中心。周围有太多的信息,我不确定从哪里开始学习这部分,因为这听起来很简单,但我对计算机视觉仍然一无所知。

    1 回复  |  直到 9 年前
        1
  •  0
  •   Community gkalpak    7 年前

    这对 CamShift algorithm .

    CamShift是一种跟踪对象的算法。该算法的一个常见用途是跟踪具有唯一颜色的对象。

    首先需要初始化算法,方法是拍摄球的图像,将图像转换为HSV颜色空间,并调整通道上的阈值,使只有球在范围内(在每个通道的下限和上限阈值之间),而背景不在范围内。

    CamShift算法将在每个帧中搜索最邻近像素位于这些范围内的位置。基于对象在前一帧中的位置来搜索位置(因此称为跟踪)。

    第二,你可以使用 Hough Transform 以便检测球的圆形。这将在第一帧中为您提供球的初始位置,然后在下一帧中跟踪它。此外,它将为您提供球的精确边界。

    这两种算法都在 OpenCV ,幸运的是,它有几个包装库 .net - See this thread .

    这是一个在 Python ,看起来不错: Fast Object Tracking – Robot Computer Vision

    希望这足以让你上路。祝你好运