足球场的同形异义

时间:2016-04-11 06:27:48

标签: python opencv homography pose-estimation

好的,所以我想找到足球比赛的单应性。我到现在所拥有的是

  1. 从文件夹中读取图像,该文件夹基本上是模板足球场的多个裁剪图像。基本上这有中心圆和罚球线等图像。
  2. 从文件中读取视频流并将其裁剪为许多较小的片段。
  3. 在视频流中的图像内循环,在我从文件夹中读取的图像的另一个循环内部。
  4. 现在在我通过迭代得到的两个图像中,我应用了绿色滤镜,因为我假设场是绿色的
  5. 使用orb查找点数然后找到匹配项。
  6. 现在问题是由于玩家和来自骄傲的一些噪音,我无法找到合适的匹配。删除它们也是一个问题,因为这也会隐藏我需要计算单应性的足球场线。

    非常感谢对此提出任何建议。以下是我正在使用的一些示例代码和图像。

    "Code being used"

    示例图片

    http://i65.tinypic.com/21cs9rl.png

    我得到的输出

    http://i66.tinypic.com/zj6ljo.png

    输出右侧的图像是来自视频的帧,左侧的图像是我在filterGreen函数之后上传的样本图像,可以从代码中看到。

    最后我想要的是图像正确映射到中心圆,这样我就可以在中心绘制一个立方体,有点类似于"This example"。在此先感谢帮助我。

1 个答案:

答案 0 :(得分:3)

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

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

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