我一直在尝试训练 Tesseract 3.04 来识别手写数字。该方法首先在以下链接中的论文中提出:https ://arxiv.org/abs/1003.5897 。我已经使用 Training Tesseract 3.04 wiki 页面和本教程执行了必要的步骤:http ://www.resolverradiologic.com/blog/2013/01/15/training-tesseract/
我从扫描的页面创建了一个 tiff 图像,其中包括我手写的数字。我可以使用用于 tesseract 的某个第三方 GUI(称为 tesseract4java)创建一个盒子文件并编辑该盒子文件。我已经进入 mftraining 步骤,没有明显问题。
但是在给出命令后:mftraining -F font_properties -U unicharset -O ali.unicharset ali.test_font.exp0.tr
训练步骤需要永远运行,并且在某些时候我的笔记本电脑会崩溃。由于我只训练了 10 个字符,每个字符最多有 15 个实例,我假设这种行为正在发生,因为我在上一步中犯了错误。以下是我对可能出错的想法:
我创建了一个 font_properties 文件,并在其中添加了一个具有所需格式的文本文件。但由于我同时也在创建一种新字体,可能 tesseract 无法识别新字体或认为我将这些字体混合在一个 tiff 图像中。那么我应该在我的字体属性文件中添加一个新的字体名称吗?但是手写数字应该有什么字体呢?
Training Tesseract 页面指出我应该将我的训练文本添加为 UTF-8 文本文件,但我还没有完成这一步。我没有训练文本,只有图像,我不知道如何将数字转换为 UTF-8 文本文件以及将该文件放在哪里。这会导致我遇到的问题吗?
也许我创建的文件在错误的目录中。目前我附加的所有文件(+unicharset 和 font_properties)都在 tesseract.304 目录中。我应该将它们添加到 tessdata 还是在 tesseract 目录中创建一个新文件?
任何回答这些问题的帮助或任何其他关于为什么我的 mftraining 步骤将永远进行的建议将不胜感激。非常感谢。