mftraining给出警告:在CreateIntTemplates()中没有F的原型/配置

时间:2012-12-24 21:52:49

标签: windows ocr tesseract

编辑: mftraining在标题中为unicharset中的所有字符发出警告(所以不仅仅是F,还有a,b,c,d等)我如何创建这些原型/ CONFIGS?

我正在关注this教程


现已解决的上一个问题: -
错误:断言失败警告:在文件.... \ classify \ trainingsampleset.cpp中,第622行没有原型/分段错误
这是整个命令+输出: -

C:\ training> mftraining -F font_properties -U unicharset -O eng.unicharset eng.impact.box.tr警告:没有形状表文件:shapetable阅读eng.impact.box.tr ...字体id = -1/0,类id = 1/103,样本0 font_id> = 0&& font_id< font_id_map_.SparseSize():错误:断言失败:在文件.... \ classify \ trainingsampleset.cpp,第622行

我已经查看了我在标题中找到的所有关于unicharset中所有角色的警告(这不是很多),所以不仅仅是F,而是a,b,c,d等另外)我怎么能弄清楚问题是什么以及它会起什么作用。创建这些protos / configs?

我也尝试了shapeclustering命令,但这给了我同样的错误。 此外,当我在cygwin上运行它们时,它会显示Segmentation Fault而不是断言错误。

7 个答案:

答案 0 :(得分:3)

我遇到了同样的问题,这确实是font_properties的一个问题。但是,就我而言,它是通过确保font_properties中的字体与.tr文件中的字体名称完全匹配来解决的。就我而言,那是[fontname] .exp0。

答案 1 :(得分:2)

我和你有同样的问题。 这是因为font_properties格式不正确。

font_properties文件的每一行格式如下: fontname斜体粗体固定serif fraktur

这里只需要fontname。 当我将文件从lang.fontname.exp0 0 0 0 0 0更改为fontname 0 0 0 0 0时,我的问题已修复

答案 2 :(得分:2)

我发现了这个问题的两个可能原因。

可能原因1:font_properties

不正确

font_properties文件应包含以下内容:

https://github.com/tesseract-ocr/tesseract/wiki/Training-Tesseract-3.00%E2%80%933.02#font_properties-new-in-301

并且文件编码应满足以下要求:

https://github.com/tesseract-ocr/tesseract/wiki/Training-Tesseract-3.00%E2%80%933.02#requirements-for-text-input-files

这是互联网上最常见的答案。

(另外请确保在font_properties中指定字体而不是语言。)

可能原因2:错误的培训文件名

但是我发现尝试修复font_properties对我来说不起作用,并且在我的情况下发现了另一个导致相同错误的原因。

文件.tr文件必须包含以下格式:

<language>.<fontname>.exp<num>.tr

而不是:

<language>.<fontname>.exp<num>.box.tr

(如某些教程中所见)

所以在我的情况下,这不起作用:

tesseract eng.unknown.exp1.png eng.unknown.exp1.box nobatch box.train
unicharset_extractor eng.unknown.exp1.box
mftraining -F font_properties -U unicharset -O eng.unicharset eng.unknown.exp1.box.tr

虽然这个小改动确实有效:

tesseract eng.unknown.exp1.png eng.unknown.exp1 nobatch box.train
unicharset_extractor eng.unknown.exp1.box
mftraining -F font_properties -U unicharset -O eng.unicharset eng.unknown.exp1.tr

答案 3 :(得分:1)

你错过了一个shapeclustering步骤,这是Tesseract 3.02 training中的新内容。

答案 4 :(得分:1)

我有同样的问题并且正在改变

 fontname 0 0 0 0 0

 fontname.exp0 0 0 0 0 0

根据.tr文件中的fontname修复它

答案 5 :(得分:0)

我遇到了同样的问题,并修改了font_properties,如下所示:

来自 - batangche 1 0 0 0 0

到 - batangche.exp0 1 0 0 0 0

答案 6 :(得分:0)

在我的情况下,font_properties文件中的字体名称是大写的,其中.tr文件中的字体名称是小写的。将它们更改为相同的案例解决了这个问题。