tesseract自动化训练批量训练字库
tesseract
tesseract-ocr/tesseract: 是一个开源的光学字符识别(OCR)引擎,适用于从图像中提取和识别文本。特点是可以识别多种语言,具有较高的识别准确率,并且支持命令行和API调用。
项目地址:https://gitcode.com/gh_mirrors/te/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
GitHub 加速计划 / te / tesseract
60.1 K
9.29 K
下载
tesseract-ocr/tesseract: 是一个开源的光学字符识别(OCR)引擎,适用于从图像中提取和识别文本。特点是可以识别多种语言,具有较高的识别准确率,并且支持命令行和API调用。
最近提交(Master分支:2 个月前 )
bc490ea7
Don't check for a directory, because a symbolic link is also allowed.
Signed-off-by: Stefan Weil <sw@weilnetz.de>
4 个月前
2991d36a - 4 个月前
更多推荐
已为社区贡献2条内容
所有评论(0)