当我的训练文件执行mftraining时,我收到以下错误消息:
PS > mftraining -F font_properties -U unicharset -O lang.unicharset .\eng.ds-digita
l.exp0.box.tr .\eng.ds-digitalb.exp0.box.tr .\eng.ds-digitali.exp0.box.tr
Warning: No shape table file present: shapetable
Reading .\eng.ds-digital.exp0.box.tr ...
Reading .\eng.ds-digitalb.exp0.box.tr ...
Reading .\eng.ds-digitali.exp0.box.tr ...
Font id = -1/0, class id = 1/12 on sample 0
font_id >= 0 && font_id < font_id_map_.SparseSize():Error:Assert failed:in file ..\..\classify\trainingsampleset.cpp, li
ne 622
来自Windows的对话框也出现了说明&#34; Tesseract的功能培训已停止工作&#34;。解决这个问题的网络上有几个帖子,但是没有一个(我到目前为止已尝试过)似乎有任何解决方案让我的数据集通过。
执行mftraining命令的文件夹包含以下文件:
eng.ds-digital.exp0.box
eng.ds-digital.exp0.box.tr
eng.ds-digital.exp0.box.txt
eng.ds-digital.exp0.tif
eng.ds-digitalb.exp0.box
eng.ds-digitalb.exp0.box.tr
eng.ds-digitalb.exp0.box.txt
eng.ds-digitalb.exp0.tif
eng.ds-digitali.exp0.box
eng.ds-digitali.exp0.box.tr
eng.ds-digitali.exp0.box.txt
eng.ds-digitali.exp0.tif
font_properties
unicharset
并且font_properties具有以下内容(它还以文档状态的换行结束):
ds-digital 0 0 0 0 0
ds-digitalb 0 1 0 0 0
ds-digitali 1 0 0 0 0
我也在font_properties上对font-name尝试了不同的命名约定(虽然文档很清楚它是文件的字体名称而不是文件名,但网络上的一些人似乎否则声称,并重命名文件,以便.tr文件遵循模式eng.ds-digital * .exp0.tr而不用铁砧。
编辑:我在Tesseract 3.02上运行
答案 0 :(得分:1)
我遇到了同样的问题并通过检查eng.ds-digital.exp0.box.tr
中的字体名称与font_properties
文件中的字体名称相同来解决。
实施例:
echo "ds-digital 0 0 0 0 0" > font_properties
然后eng.ds-digital.exp0.box.tr
应该有ds-digital
字体名称。
培训tesseract的另一种简单方法link。