TesseractOcr多字库合并识别

上一篇介绍了TesseractOcr的用法,大家不懂得可以去看下

TesseractOcr 安装、使用、训练字库(基础详细版)_tesseract训练自己的字库-CSDN博客

这次直接讲解怎么进行多字裤合并并进行识别

1,我们先使用TesseractOcr生成两个box和tif文件,分别为num.font.exp0.box,num.font.exp1.box,num.font.exp0.tif,num.font.exp1.tif,还有一个font_properties

2,生成对应的tr文件,使用以下命令:

tesseract.exe num.font.exp0.tif num.font.exp0 nobatch box.train

tesseract.exe num.font.exp1.tif num.font.exp1 nobatch box.train

3,生成unicharset文件

unicharset_extractor.exe num.font.exp0.box num.font.exp1.box

4,生成inttemp、pffmtable、shapetable文件

mftraining -F font_properties -U unicharset -O num.unicharset num.font.exp0.tr num.font.exp1.tr

5,生成normproto文件

cntraining.exe num.font.exp0.tr num.font.exp1.tr

6,对inttemp、pffmtable、shapetable、normproto重命名,前面都加上num.

7,生成字库traineddata

combine_tessdata.exe num.

最终文件夹里面的文件有以下:

到此字库已经完成合并,把num.traineddata复制到Tesseract-OCR下tessdata下,然后运行tesseract test.png output_2 -l num识别就可以了

如果想要更简单点的,可以直接使用bat一键合并字库,需要先准备好已经训练过的单个的tif和box文件,然后创建一个bat文件,输入以下内容:

@echo off
chcp 65001

echo.
echo --------------开始批量生成tr文件--------------
echo.
for %%f in (*.tif) do (
    tesseract "%%f" "%%~nf" nobatch box.train
)

echo.
echo --------------开始生成unicharset文件--------------
echo.

setlocal enabledelayedexpansion
set EXTRACTOR=unicharset_extractor.exe
set FILENAMES=
for /f "delims=" %%f in ('dir /b *.box') do (
    set FILENAMES=!FILENAMES! "%%f"
)
%EXTRACTOR% !FILENAMES!
endlocal

echo.
echo --------------开始生成inttemp、pffmtable、shapetable文件--------------
echo.

setlocal enabledelayedexpansion
set EXTRACTOR=mftraining -F font_properties -U unicharset -O num.unicharset
set FILENAMES=
for /f "delims=" %%f in ('dir /b *.tr') do (
    set FILENAMES=!FILENAMES! "%%f"
)
%EXTRACTOR% !FILENAMES!
endlocal

echo.
echo --------------开始生成normproto文件--------------
echo.

setlocal enabledelayedexpansion
set EXTRACTOR=cntraining.exe
set FILENAMES=
for /f "delims=" %%f in ('dir /b *.tr') do (
    set FILENAMES=!FILENAMES! "%%f"
)
%EXTRACTOR% !FILENAMES!
endlocal

echo --------------normproto、inttemp、pffmtable、shapetable统一前缀--------------
rename normproto num.normproto 
rename inttemp num.inttemp 
rename pffmtable num.pffmtable 
rename shapetable num.shapetable  

echo.
echo --------------开始生成traineddata字库文件--------------
echo.
combine_tessdata.exe num. 

echo.
echo --------------执行完成--------------
pause

执行该文件,一键合并字库

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值