You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Tesseract训练BM Mini字体时mftraining报tr文件格式错误如何解决?

Tesseract训练mftraining阶段报错问题排查与解决

核心问题根因

  • 脚本执行顺序错误:你先执行box.train生成.tr文件,之后才生成font_properties文件,导致.tr文件无法正确关联字体标识,内部格式损坏,mftraining读取时就会抛出格式类错误
  • 存在无效命令:脚本中font_properties eng.inttemp eng.normproto *.tr *.txt是错误命令,font_properties是配置文件不是可执行程序,执行该行会产生垃圾输出干扰后续文件生成
  • 命令参数符号错误:你写的mftraining命令中参数前的是长破折号–,不是可识别的半角短横-,会导致参数解析失败

解决步骤

  1. 先清空当前目录下所有生成的中间文件,包括*.tr、unicharset、font_properties、.inttemp、.normproto等,避免旧文件干扰
  2. 调整脚本执行顺序,修正后的参考脚本如下:
tesseract='C:/Program Files/Tesseract-OCR/tesseract.exe'
# 第一步:先生成font_properties配置文件
echo "bmmini 0 0 0 0 0" > font_properties
# 第二步:生成.tr训练文件
"$tesseract" eng.bmmini.exp0.png eng.bmmini.exp0 nobatch box.train
# 第三步:提取字符集文件
unicharset_extractor eng.bmmini.exp0.box
# 第四步:执行特征训练,注意参数前为半角短横
mftraining -F font_properties -U unicharset -O eng.unicharset eng.bmmini.exp0.tr
# 后续补充cntraining步骤即可继续完成训练
cntraining eng.bmmini.exp0.tr
  1. 若调整后仍报错,按以下方法校验box文件:
  • 打开box文件检查每一行格式是否符合字符 左坐标 下坐标 右坐标 上坐标 页码规范,所有坐标为正整数,无乱码、特殊字符、空格缺失
  • 检查文件无空行,末尾无多余换行,保存编码为UTF-8

内容的提问来源于stack exchange,提问作者user17223731

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 00:09:03