8

好的,所以我正在尝试查找足球比赛的单应性。到目前为止我所拥有的是

  1. 从一个文件夹中读取图像,该文件夹基本上是模板足球场的许多裁剪图像。基本上这有中心圆和罚球线等的图像。
  2. 从文件中读取视频流并将其裁剪成许多较小的片段。
  3. 在视频流中的图像内循环,在另一个循环内循环我从文件夹中读取的图像。
  4. 现在在我通过迭代得到的两个图像中,我应用了一个绿色过滤器,因为我假设字段是绿色的
  5. 使用 orb 查找点,然后查找匹配项。

现在的问题是,由于玩家和人群中的一些噪音,我无法找到适合单应性的匹配。删除它们也是一个问题,因为这也往往会隐藏我需要计算单应性的足球场线。

对此的任何建议将不胜感激。下面还有一些我正在使用的示例代码和图像。

“正在使用的代码”

示例图像

我得到的输出

输出右侧的图像是视频中的一帧,左侧的图像是我在 filterGreen 函数后上传的相同示例图像,从代码中可以看出。

最后我想要的是图像正确映射到中心圆,这样我就可以在中心绘制一个立方体,有点类似于“这个例子”。提前感谢您帮助我。

4

1 回答 1

3

解决这个问题的一个有趣的技术是 RASL。它计算对齐相关图像堆栈的单应性。它不需要您指定图像上的对应点,而是直接对图像像素进行操作。它对图像遮挡(例如,在前景中移动的玩家)具有鲁棒性。

我刚刚在这里发布了一个 Python 实现:https ://github.com/welch/rasl (那里还有指向原始 RASL 论文、MATLAB 实现和数据的链接)。

我不确定您是否要将输入图像裁剪到该中心圆,或者是否可以对齐整个帧。试试看。

于 2016-04-20T16:52:00.440 回答