Tesseract板检测

Tesseract board detection

我正在使用 tess-two 包装器在 android 中处理 tesseract。我已经阅读了有关该库的文档,但我遇到了在我的图像中重新定义正方形的问题。例如,我想识别数独板上最外面的正方形。

opencv 中有一个 example,但我找不到 tesseract 的内容。

Tesseract 是一个 OCR 框架。它对于识别图像中的字符和单词很有用。对于数独板,您有两个主要问题:

  1. 认识游戏网格的轮廓和9行9列。
  2. 识别已经填写的数字

可以通过使用线检测或角点检测算法找到角点或可能的边缘来定位数独网格;你应该尝试 Google Hough Lines 或 Corner Detection。

如果您以一定角度手持相​​机,则图像中的网格实际上可能不是正方形,因此您还需要在处理之前将形状转换为正方形。你应该 Google 单应。

假设您找到网格并能够将其转换为正方形,您现在可以找到每一行和每一列。此时您可以检查每个单元格,一次检查一个单元格,看看它是空的还是包含数字。如果它包含一个数字,你需要计算出是哪一个。

现在您可以在这个最后阶段使用 Tesseract,但这太过分了。您可以自己构建一个简单的模板匹配方法就足够了。

完成上述背景研究后,您将能够选择支持您所需操作的框架或库。 OpenCV 在这方面是一个非常强大的竞争者 space 在这里和网络上都有很多支持,但在选择工具来解决它之前你真的需要更好地理解这个问题。