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

Tesseract训练combine_tessdata报错:缺少unicharset或lstm文件

问题描述
  • 环境:Ubuntu 20.04 LTS,Tesseract 4.1.1
  • 执行训练第8步命令 combine_tessdata eng. 时触发报错:

traineddata file must contain at least (a unicharset file and inttemp) OR an lstm file

  • 当前工作目录已存在 unicharset、eng.inttemp 等文件,但合并操作失败
  • 此前执行 mftraining 命令曾出现格式错误,已通过qt-box-editor修正box文件坐标
排查与解决方案

1. 检查文件完整性与命名

  • 确认所有训练生成文件(eng.inttemp、eng.normproto、eng.pffmtable、eng.shapetable、unicharset)均在当前目录,且文件名前缀与 combine_tessdata 命令中的 eng. 完全匹配(注意命令末尾的点不能省略)
  • 执行以下命令查看文件大小,确保无空文件:
    ls -l eng.* unicharset
    
    若存在大小为0的文件,说明对应训练步骤(如mftraining、cntraining)执行不彻底,需重新运行

2. 重新验证mftraining执行

  • 重新运行mftraining,确保无报错:
    mftraining -F unicharset -U unicharset -O eng.unicharset eng.tr
    
    若仍有格式错误,补充检查:
    • box文件与对应图片的文件名完全一致(如sample.png对应sample.box)
    • box文件每行格式符合规范:字符 左 下 右 上 页码(坐标原点为图片左下角)
    • 图片需为单通道灰度图,非灰度图可通过以下命令转换:
      convert input.png -type Grayscale output.png
      

3. 补全cntraining步骤

Tesseract 4.x训练传统模型需执行cntraining生成配套文件,并完成重命名:

cntraining eng.tr
mv normproto eng.normproto
mv pffmtable eng.pffmtable
mv shapetable eng.shapetable

确保重命名后的eng.normproto、eng.pffmtable、eng.shapetable均存在于当前目录

4. 重新执行合并命令

确认所有必要文件齐全后,再次运行:

combine_tessdata eng.

成功时会输出类似信息:

Combined tessdata written to eng.traineddata

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.29 18:07:07