Tesseract Assert failed trainingsampleset.cpp line 622 with mtraraining

时间:2015-06-19 07:12:49

标签: ocr tesseract

当我的训练文件执行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上运行

1 个答案:

答案 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