对Tesseract进行特定字体的培训会产生空的tr文件

时间:2019-03-06 10:13:48

标签: image-processing ocr tesseract

我正在从事一个大学项目,该项目涉及对某些数字代码进行OCR(用其他一些字符作为分隔符,主要是'。','/'等)。 该数字代码(例如印在产品上的代码)通常使用“数字”字体(例如7段式字体或像素化字体等)。

因此,我正在尝试使用我在网上找到的几种数字字体来训练Tesseract,类似于这些代码所使用的那些。

问题是,Tesseract可以识别我提供的tiff文件为空白页。

我尝试过的事情: 1.使用JTesseract和qt-box创建一个.box文件(并手动调整盒子):在这种情况下,Tesseract读取box和tiff,我得到输出“ 1 Page”,但是没有字符被识别和tr文件为空白。

  1. 使用Tesseract的makebox创建.box文件-在这种情况下,根本不会创建任何盒子。

PS-我设法使用更多传统字体来很好地训练它(例如Arial) 有任何想法吗? 我附上这样的示例字体的图像。 digitized font

谢谢!

1 个答案:

答案 0 :(得分:0)

我设法解决了大多数问题。发布它以防其他任何人: 我做了2个步骤来让Tesseract识别我的文字:

  1. 对训练图像进行图像处理-我已经应用了一些图像处理方法(主要是扩张,腐蚀和模糊)来“连接”文本中被分割或彼此分离的像素。非常重要的一点是,将相同的步骤完全应用于要送入OCR的图像。

  2. 我注意到,由于某种原因,仅通过代码将图像保存为TIFF / PNG并不能将DPI设置保存在标头中(而Tesseract将其标识为0 DPI)。我以为有办法做到这一点,但是我没有时间,所以我只是在Photoshop中打开文件,然后从那里保存文件。

我不确定是步骤1,2还是两者都解决了我的问题,但是大多数字符最终都被确定了。