训练手写数字的Tesseract:mftraining步骤需要永远

时间:2017-02-11 12:50:30

标签: fonts ocr tesseract handwriting-recognition

我一直在尝试训练Tesseract 3.04以识别手写数字。该方法首先在以下链接中提供:https://arxiv.org/abs/1003.5897。 我已经使用Training Tesseract 3.04维基页面和本教程执行了必要的步骤:http://www.resolveradiologic.com/blog/2013/01/15/training-tesseract/

我从我扫描过的页面创建了一个单独的tiff图像,其中包括我手写的数字。我能够创建一个盒子文件并使用特定的第三方GUI编辑该盒子文件(tesseract4java)。 我没有遇到任何明显的问题,我来到了mtraraining步骤。

但在发出命令后: mftraining -F font_properties -U unicharset -O ali.unicharset ali.test_font.exp0.tr

训练步骤需要永远运行,经过一段时间我的笔记本电脑才会崩溃。由于我只训练了10个字符,每个字符最多15个实例,我假设这种行为正在发生,因为我在上一步中犯了错误。以下是我对可能出错的看法:

  1. 我创建了一个font_properties文件,并在其中添加了所需格式的文本文件。但由于我也在同时创建一个新字体,m aybe tesseract无法识别新字体或认为我在一个tiff图像中混合字体。所以我应该添加一个新字体我的字体属性文件中的字体名称?但是手写的数字究竟应该用什么字体?

  2. 培训Tesseract页面指出我应该将我的培训文本添加为​​UTF-8文本文件,但我还没有完成此步骤。我没有培训文本,但没有图像,我不知道如何将数字转换为UTF-8文本文件以及放置该文件的位置。 这会导致我遇到的问题吗?

  3. 也许我创建的文件位于错误的目录中。目前我附加的所有文件(+ unicharset和font_properties)都在tesseract.304目录中。我应该将它们添加到tessdata还是在tesseract目录中创建一个新文件?

  4. 任何有关回答这些问题的帮助或任何其他关于为什么我的mftraining步骤将永远采取的建议将非常感谢。 非常感谢你。

1 个答案:

答案 0 :(得分:0)

好吧我认为问题是我没有预处理我的输入图像.tiff

在我将tiff图像转换为8bpp(每像素位数)并转换为300dpi密度后,在几秒钟后完成了mftraining步骤。 我使用了以下命令:(来自imagemagick)

convert -density 300 -depth 8 input.pdf output.tiff

另外,我认为将图像更改为灰度有帮助。

编辑:mftraining命令中的font_properties文件也应命名为lang.font_properties