问题:使用opencv在python中进行单个对象跟踪

问题:使用opencv在python中进行单个对象跟踪

问题描述:

在此视频中跟踪mario的最佳方式是什么?问题:使用opencv在python中进行单个对象跟踪

我尝试了许多算法,如CAMSHIFT ..并试图目标跟踪算法在OpenCV的3样提高,MIL,TLD,MEDIANFLOW但他们都马里奥

失败,超级你可以从这里看到视频:super mario video Link

+0

我必须下载视频才能观看它。无法在浏览器中观看它 –

看来Supermario以这样的方式编程的,整个environement(背景)移动时,如果马里奥是在该帧的中心。我建议跟踪马里奥这样:

让asume IMG [T1]和IMG [T2]是在视频两个连续的帧

  • 检查的背景移动(DIFF = IMG [T1] - IMG [ T2])
    • 如果DIFF> 0(几乎)全部像素(背景移动):马里奥必须在图像
    • 的中心如果(几乎)全部像素差异== 0:马里奥可以是发现与背景扣除(解释here

随着背景减除也其他移动的物体(如火灾球或龟)会被发现。不过,在这个有限的搜索空间中找到mario应该相当简单。

有一种情况下离开这里没有覆盖:马里奥不动,并且是盈方的中心。这里在t1和t2的马里奥位置不变。