如何使tesseract在有噪音的情况下给出相关结果?

时间:2011-02-09 12:57:46

标签: ocr tesseract

我使用的是tesseract 3.0.0,我遇到了以下问题:

如果有一些东西太小,tesseract无法识别它似乎与它合并 其他片段。因此,不会返回任何相关内容。

下图显示了3个案例。只有带虚线的矩形传递给tesseract。在矩形上方是结果(V over T表示新行)。

最后一个案例是问题一个。在这种情况下,有什么方法可以改善tesseract吗?

enter image description here

1 个答案:

答案 0 :(得分:5)

据我所知,Tesseract还没有正确的图像分割(或文档分析,因为它在纪念OCR应用程序中被称为。)通常,在OCR完成之前,图像被分割为包含文本的单独区域,图片,条形码,线条等。然后,您只对文本区域应用OCR,并且不会遇到您刚才描述的问题。

早期版本的Tesseract根本没有这个功能,当你在较大的图像切割的文本的小片段上使用时,Tesseract应该仅用作线识别器,或者所谓的场级识别器。

我没有完全遵循3.0中引入的内容,可能它已经部分存在,但显然它没有按预期工作,正如您刚刚发现的那样。

还有另一个开源项目 - OCRopus,正如我所描述的那样完全解决了这个问题 - 首先是Document Analisys(又名Segmentation),然后只有OCR。他们的早期版本实际上是在完成分析步骤后使用Tesseract进行OCR。但后来他们推出了自己的OCR(仍然不是很好),并将Tesseract插件支持放在优先级列表中。

以下是您实际可以解决问题的方法:

  • 如果您的图像具有非常典型的结构,您可以尝试进行一些愚蠢的分割,并在将图像传递给Tesseract之前自己剪切文本。但是,如果您希望支持各种各样的图像,请忘记它。
  • 您可以查看OCRopus,看看它们的分割是否适用于您的图像。如果是,那么你可以花一些时间让OCRopus + Tesseract一起工作。
  • 好吧,如果你做的不只是为了好玩,而且你重视时间,我建议你考虑像ABBYY这样真正的OCR引擎。您可以获得更高的分段和OCR开箱即用精度,当然还有专业的客户支持。

免责声明:我为ABBYY工作