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

zku*_*nov 3 ocr tesseract

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

当有一些东西太小而tesseract无法识别它似乎与其他碎片合并.结果没有返回任何相关内容.

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

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

在此输入图像描述

Tom*_*ato 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工作