【问题标题】:How to do simple ball tracking? [closed]如何做简单的球跟踪? [关闭]
【发布时间】:2014-08-20 11:41:41
【问题描述】:

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

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

【问题讨论】:

    标签: .net computer-vision imaging


    【解决方案1】:

    这似乎是CamShift algorithm 的问题。

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

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

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

    其次,您可以将Hough Transform 用于圆圈以检测球的圆形。这应该在第一帧中为您提供球的初始位置,然后再通过下一帧跟踪它。此外,它还会为您提供球的确切边界。

    这两种算法都在OpenCV 中实现,幸运的是,它有一些.net - See this thread 的包装库。

    这是Python 中的一个人,它看起来不错:Fast Object Tracking – Robot Computer Vision

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

    【讨论】:

      猜你喜欢
      • 2010-09-06
      • 2011-08-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多