如何使用Tesseract OCR获得最准确的结果

时间:2018-01-24 07:16:40

标签: c# ocr tesseract

我正在建立/培训Tesseract,以便从拍摄的照片中识别护照MRZ代码。在将照片/图像发送到Tesseract引擎之前,我正在应用以下图像预处理技术:

  • 二值化
  • 正常化
  • 取样
  • 去噪
  • 细化(可选)

此外,我已经使用正确的字体(OCR-B)训练了Tesseract引擎,创建了大量的盒子文件(来自35个左右的样本,其中包含从OCR-B字体的文本样本中提取的照片),修复了任何错误。盒子文件,创建训练文件,最后用我的所有样本训练Tesseract引擎并生成训练有素的数据文件。

然而即使在C#(引擎模式=默认,pagesegmode =自动)中使用我的自定义训练数据的所有这个Tesseract 3.04仍然会犯下如下错误:

  • 将字母字符与数字字符混淆(反之亦然),例如S和5,B和8。

现在我的问题是,我能做些什么来使Tesseract产生更准确的结果?我的30个训练样本包括以下照片:

  1. 护照
  2. 使用OCR-B字体输入的字词
  3. 与Tessearct收到的内容相比,输入图像的样本: Image before and after pre-processing

1 个答案:

答案 0 :(得分:1)

使用imagemagick转换程序扩展至480%。还介绍了锐化和美白。带来了显着的改进。我看到比许多购买OCR程序更好的结果。