tesseract自动化训练批量训练字库

关于tesseract的训练步骤流程,jTessBoxEditor工具的使用请移步:
https://blog.csdn.net/Hu_helloworld/article/details/100030283

以下是脚本的简单介绍:
输入的文件名
src:是字库文件名,如 nml
font_name:字体名,如 num
desc:nml.num.exp0
dirs: 获取当前目录

脚本使用时的目录结构:
training├── jTessBoxEditor |——jTessBoxEditor.jar
├── nomal.num.exp0.tif
├── training.bat

注意:应先用jTessBoxEditor,合并样本生成.tif文件,再使用脚本开始训练,使用期间会再次打开jTessBoxEditor工具,便于调整字符位置和内容。应保证jTessBoxEditor 和 java环境正常。

@rem the .bat script of tesseract4.1 LSTM training by Hu_helloworld
@rem    训练目录的目录结构:应放原有eng.traineddata文件,lstmTraining.bat批处理命令,所有的nml.num.exp0.tif
@rem	1、先用jTessBoxEditor工具合成 .tif
@rem	2、将官方或者需要叠加的tessdata文件,放到训练根目录

set "src_name=%1%" 
set "font_name=%2%"
set "desc=%3%"
set "dirs=%cd%"

if  not  defined src_name set /p src_name=" please pass your file_name: "
if  not  defined font_name set /p font_name=" please pass your font_name: "
if  not  defined desc set /p desc=" please pass your wholeFileName: "

@rem 判断参数的合法性
if  not  defined src_name echo  IllegalArgumentException arg1 must not be null &  pause>nul & exit
if  not  defined font_name echo  IllegalArgumentException arg2 must not be null &  pause>nul & exit
if  not  defined desc echo  IllegalArgumentException arg2 must not be null &  pause>nul & exit

ECHO src_name:%src_name%
ECHO font_name:%font_name%
ECHO desc:%desc%
ECHO dirs:%dirs%

ECHO the whole fileName: %desc%

ECHO the currect direction: %dirs%

@rem	1、利用原有tessdata文件,生成.box文件 可修改原始字库 eng
tesseract %desc%.tif %desc% -l nml --psm 6 batch.nochop makebox

ECHO Create files: %desc%.box

java -Xms128m -Xmx512m -jar F:\Yooden\Tesseract_training\jTessBoxEditor\jTessBoxEditor.jar

ECHO Please change your results and font position , and press any key to continue

pause>nul 

@rem 生成lstmf文件
tesseract %desc%.tif %desc% -l nml --psm 6 lstm.train

@rem 提取lstm文件
combine_tessdata -e nml.traineddata nml.lstm

@rem 创建eng.training_files.txt,保存%desc%.lstmf文件
echo %dirs%\%desc%.lstmf>nml.training_files.txt

@rem 开始训练
lstmtraining --model_output="%dirs%\output\output" --continue_from="%dirs%\nml.lstm" --train_listfile="%dirs%\nml.training_files.txt" --traineddata="%dirs%\nml.traineddata" --debug_interval -1 --max_iterations 15000

lstmtraining --stop_training --continue_from="%dirs%\output\output_checkpoint" --traineddata="%dirs%\nml.traineddata" --model_output="%dirs%\output\nom.traineddata"

ECHO Finish! please press any key to continue

pause>nul 

将代码命名为 XXX.bat,cmd cd 到训练目录执行。
可输出脚本运行信息到logs.txt中:
training>>logs.txt
后期尽量再脚本中完善

脚本中一些训练参数,路径之类的可能有问题,脚本也很简单,可以自己修改。
关于tesseract的训练步骤流程、jTessBoxEditor工具的使用,请移步:
https://blog.csdn.net/Hu_helloworld/article/details/100030283

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值