OCR(二) TesseractOCR 语言包训练
目录
1. 语言包简介
2. 环境部署
2.1 安装tessract
2.2 安装java JDK
2.3 下载jTessBoxEditor
3. 训练(LSTM模式-推荐)
3.1 示例
3.2 制作tiff图片
3.3 生成box文件
3.4 调整训练文件
3.5 生成 lstmf 文件
3.6 提取LSTM文件
3.7 创建txt文件
3.8 合并
3.9 验证
4. 训练(普通模式)
4.1 制作tiff图片
4.2 使用tesseract生成box文件
4.3 使用jTessBoxEditor调整.box训练文件
4.4 创建字体特征文件
4.5 生成.tr训练文件
4.6 生成字符子文件
4.7 生成数据字典
4.8 合并生成traineddata
4.9 验证语言包
1. 语言包简介
在Google训练的官方文件中,traineddata文件集,存在于三个单独的仓库中,分别是
tessdata_fast、tessdata_best 和 tessdata。
- tessdata_fast:在速度和准确度之间取得最佳平衡,整数模型。
- tessdata_best:在 Google 的评估数据上取得最佳结果,速度较慢,浮点数 模型。这些是唯一可以作为微调训练基础的模型。
- tessdata:这些包含 2016 年的传统 tesseract 模型。LSTM 模型已使用 tessdata_best LSTM 模型的整数版本进行了更新。
训练模型 |
速度 |
准确度 |
支持传统 |
可重新训练 |
|
tessdata |
传统+LSTM(整形tessdata-best) |
比tessdata-best快 |
比tesseract-best略微不太准确 |
是 |
否 |
tessdata-best |
仅限LSTN(基于langdata) |
最慢 |
最准确 |
否 |
是 |
tessdata-fast |
比tessdata-best网络更小的整形LSTM |
最快 |
最不准确 |
否 |
否 |
要注意的是,当使用来自 tessdata_best 和 tessdata_fast 仓库的 traineddata 文件时,仅支持新的基于 LSTM 的 OCR 引擎 (–oem 1)。传统 tesseract 引擎 (–oem 0) 不支持这些文件,因此 Tesseract 的 oem 模式 '0' 和 '2' 无法使用它们。
作为中文我们一般需要关注这几个:
chi_sim.traineddata 中文简体
chi_tra.traineddata 中文繁体
osd.traineddata 方向和脚本检测
equ.traineddata 数学方程式检测
2. 环境部署
2.1 安装tessract
注意:安装过程中需要下载中文包(如图)
安装完成后,系统环境变量:
a. Path 添加 :C:\Program Files\Tesseract-OCR
b. 新建:TESSDATA_PREFIX C:\Program Files\Tesseract-OCR