Python 通过OpenCV跟踪对象

Python 通过OpenCV跟踪对象,python,python-2.7,opencv,object,tracking,Python,Python 2.7,Opencv,Object,Tracking,我正在尝试使用OpenCV和Python跟踪一个对象(本例中是一个球)。例如,我正在使用此视频: 我需要的是跟踪球,而不将视频的其他部分检测为球。按颜色跟踪在这里不起作用。出于同样的原因,寻找圆是相当棘手的 对于这个问题有什么好的解决方法?首先可以通过以下方式对球进行简单的跟踪: 使用透视单应性来隔离foosball表,即构建表的平面图,以便更容易跟踪二维位置 使用简单的方法进行一系列观察(猜测),使用颜色和/或运动去除背景 任何概率类型的跟踪(包括粒子滤波)都需要进行一系列观察。进行高质量的观

我正在尝试使用OpenCV和Python跟踪一个对象(本例中是一个球)。例如,我正在使用此视频:

我需要的是跟踪球,而不将视频的其他部分检测为球。按颜色跟踪在这里不起作用。出于同样的原因,寻找圆是相当棘手的


对于这个问题有什么好的解决方法?

首先可以通过以下方式对球进行简单的跟踪:

  • 使用透视单应性来隔离foosball表,即构建表的平面图,以便更容易跟踪二维位置

  • 使用简单的方法进行一系列观察(猜测),使用颜色和/或运动去除背景

  • 任何概率类型的跟踪(包括粒子滤波)都需要进行一系列观察。进行高质量的观测是产生良好跟踪结果的关键

    下面是一些对您提供的视频和。请注意,对于球的过去和当前位置,绿点是一个不错的近似值。下一步是对颜色数据使用粒子滤波,位置由简单的hough分析计算得出。您还可能希望在当前位置周围使用搜索窗口来过滤任何误报

    此外,向图像中注入一些噪声可以改善跟踪结果,因为它提供了特征检测器假边缘来锁定


    在投入大量时间使用python实现一个好的粒子过滤器之前,我发现&trackers的性能非常适合这类工作。

    在计算机视觉文献中搜索概率跟踪(例如粒子过滤)。不要期望硬背景或前景不清晰的情况下很容易发生。我会的。你能推荐什么特别的文献吗?我发现佩雷斯的“基于颜色的概率跟踪”是一篇关于粒子滤波的好论文。要了解基本知识,请参阅维基百科和谷歌,这里有一些不错的教师幻灯片。哇,这太棒了!我只是有点困惑,为什么你几乎得不到任何不是球的结果,而我的却太频繁地找到了错误的目标。我会研究TLD/CMT,但我必须使用Python。当我学习C++时,我会研究它: