Tesseract板检测

时间:2015-05-07 00:15:38

标签: java android image-processing tesseract

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

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

1 个答案:

答案 0 :(得分:2)

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

  1. 识别游戏网格的轮廓以及9行和9列。
  2. 识别已填写的数字。
  3. 找到数独网格可以通过使用线检测或角点检测算法找到图像中的角落或可能的边缘来完成;你应该尝试Google Hough Lines或Corner Detection。

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

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

    现在你可以使用Tesseract进行最后阶段,但是它有很大的矫枉过正。您可以自己构建一个简单的模板匹配方法就足够了。

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