2017-03-02 127 views
3

我想在使用OpenCV和tesseract时检测图像中的文本。我的步骤是:如何提高Tesseract结果

  1. 检测文本我正在使用cv :: text的场景文本检测算法。其实,这工作也不错困难的情况下
  2. 识别的文本分别从主图像中提取包含文本的图像区域
  3. 我每个子图像传递给正方体

然而,正方体勉强找到文本如果它发现文字,这是错误的。 实施例:(从https://github.com/opencv/opencv_contrib/blob/master/modules/text/samples/scenetext01.jpg拍摄图像)

enter image description here

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

黄色:基础上,绿色长方形(坏)由正方体识别的文本

提取的文本是“DOUBLEI”。 'I'是右边黑色边框的结果。

正如你所看到的,其他的词如“禁止”也应该很容易通过tesseract检测到。我试图增加提取的包含文本的子图像的大小并使用阈值,但我无法改进我的结果。

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

当直接使用“tesseract.exe”与被检测到任何文本相同的图像:

enter image description here

+0

我在这些单词之间唯一的区别在于,在“禁止”这个词中,这些字母更小,更接近彼此。我不知道这是否会有所帮助,但尝试重新调整图像以使其更大并再次运行。 –

+0

你可以编辑你的问题,并附上提取的文字图像? – thewaywewere

+0

我会尽力的。什么帮助!显着!增加文字图像大小,例如400%。这有助于识别所有文字,但没有红色背景顶部的“通知”。 – Anonymous

回答

0

尝试添加少许白色背景。我记得tesseract对于到达图像边界的文本有很大的问题。每边添加10px的白色,看看是否有帮助。