OpenCV检测背景困难的方块

OpenCV detect square with difficult background

我正在开发一个 Android 应用程序,它将识别其中的一个 GO board and create a SGF file

我需要检测 整个 板以便扭曲它并能够找到正确的线条和石头,如下所示.


(来源:eightytwo.axc.nl

现在我使用 Opencv RGB Mat 并执行以下操作:

我仍然无法始终如一地检测到木板,因为如下图所示,有些线条往往会消失,木板上的黑线和石头清晰可见,但某些地方的木板边缘缺失。


(来源:eightytwo.axc.nl

我怎样才能改进这个检测?或者我应该实施多种检测方法并在其中一种方法失败时在它们之间切换..

* 请牢记重要事项 *

这是pictures with go boards我想检测

的一小部分

* 更新 * 23-05-2016

我有点 运行 没有灵感使用 opencv 来解决这个问题,所以非常感谢新的灵感!!! 与此同时,我开始使用机器学习,初步结果很好,我会及时通知您,但仍然对创建 opencv 实现寄予厚望。

我正在处理同样的问题!

我的方法是假设两件事:

  1. 相机稳定
  2. 板子稳了

这让我可以在棋盘仍为空时(播放前)从单帧中推断出变形参数。使用这些参数来扭曲每一帧,无论有多少石头遮挡了棋盘边缘。