如何改善Tesseract结果

时间:2017-03-02 08:42:52

标签: c++ image opencv image-processing tesseract

我想在使用OpenCV和tesseract时检测图像中的文本。我的步骤是:

  1. 要检测文本我正在使用cv :: text的场景文本检测算法。在困难的情况下,这实际上也很好用
  2. 分别从主图像
  3. 中提取包含文本的图像区域的识别文本
  4. 我将每个子图像传递给Tesseract
  5. 然而,tesseract几乎找不到文字,如果找到文字,那就错了。 示例:(图片取自https://github.com/opencv/opencv_contrib/blob/master/modules/text/samples/scenetext01.jpg

    enter image description here

    绿色:OpenCV检测到的文字(好)。

    黄色:基于绿色矩形(坏)的tesseract识别的文字

    提取的文字是“DOUBLEI”。 “我”是右边黑色边框的结果。

    正如您所见,tesseract也可以轻松检测到其他词语如“PROHIBITED”。我试图增加提取的包含文本的子图像的大小并使用阈值处理,但我无法改善我的结果。

    在各种教程中,我看到tesseract在更困难的条件下工作,所以它应该实际工作。

    当直接使用具有相同图像的“tesseract.exe”时,根本检测不到文本:

    enter image description here

1 个答案:

答案 0 :(得分:0)

尝试添加一点白色背景。我记得tesseract在文本到达图像边界时遇到了很大问题。每侧加10px的白色,看它是否有帮助。