tesseract4.0训练入门

一、下载

1. tesseract-ocr

配置环境变量

path: 需要tesseract-ocr(安装路径) Tesseract-OCR\tessdata(字体路径)

TESSDATA_PREFIX: Tesseract-OCR\tessdata(字体路径)

检测:
tesseract -v
使用:
// tesseract 图片名称 生成的结果文件的名称 字库
tesseract test.png result -l chi_sim

2. 字体库

chi_sim 简体中文

chi_tra 繁体中文

3. jTessBoxEditor 训练

3.1. 准备

准备图片,原图加上转TIF(可用画图工具) 或者在线转换

tif文件命名格式[lang].[fontname].exp[num].tif
tif命名规则:lang为语言名称,fontname为字体名称,num为图片序号;
比如我们要训练自定义字库 testlang、字体名normal,则命名为testlang.normal.exp0.tif

合并:

jTessBoxEditor,Tools->Merge TIFF,将样本文件全部选上,并将合并文件保存为testlang.font.exp0.tif

3.2. 生成box文件

使用训练过的字库生成.box文件 :

# tesseract tif文件名.tif -l 字体库 box文件名 batch.nochop makebox 一定要注意格式。

tesseract testlang.normal.exp0.tif -l chi_sim testlang.normal.exp0 batch.nochop makebox

#tesseract znzd.list.exp1.tif -l znzd znzd.list.exp1 batch.nochop makebox

3.3. 快速脚本(使用后可忽略3.4-3.10)

filename的名字替换自己的取的名字

set filename=testlang.normal.exp0

:: 生成字符集文件
echo Generate unicharset...
unicharset_extractor %filename%.box

:: 生成训练文件
echo Run Tesseract for Training...
tesseract %filename%.tif %filename% nobatch -l chi_sim box.train

:: 生成font_properties
echo Generate font_properties...
echo normal 0 0 0 0 0 >font_properties

:: 生成聚集字符特征文件
echo Generate Character...
mftraining -F font_properties -U unicharset -O unicharset %filename%.tr

:: 生成字符正常化特征文件
echo Clustering...
cntraining %filename%.tr

:: 重新命名
echo Rename Files...
rename normproto testlang.normproto
rename inttemp testlang.inttemp
rename pffmtable testlang.pffmtable 
rename shapetable testlang.shapetable
rename unicharset testlang.unicharset

:: 合并训练文件
echo Create Tessdata...
combine_tessdata testlang.

pause

3.4. 生成font_properties文件

【语法】<fontname> <italic> <bold> <fixed> <serif> <fraktur>

fontname为字体名称,italic为斜体,bold为黑体字,fixed为默认字体,serif为衬线字体,fraktur德文黑字体,1和0代表有和无,精细区分时可使用。

echo normal 0 0 0 0 0 >font_properties

【注意】这里输入的 “normal” 名称必须与 “testlang.normal.exp0.box” 中两个点号之间的 “normal” 名称保持一致。

3.5. 生成训练文件

#语法:tesseract tif文件名.tif tr文件名 -l 字库名 nobatch box.train

tesseract testlang.normal.exp0.tif testlang.normal.exp0 -l chi_sim nobatch box.train

3.6. 生成字符集文件

#语法: unicharset_extractor  xxx.box(之前生成的box文件)
unicharset_extractor testlang.normal.exp0.box

3.7. 生成字符集文件

#语法: mftraining -F font_properties -U unicharset -O unicharset  xxx.tr(之前生成的tr文件)
mftraining -F font_properties -U unicharset -O unicharset testlang.normal.exp0.tr

3.8. 生成字符正常化特征文件

#语法:cntraining tr文件名.tr
cntraining testlang.normal.exp0.tr

3.9. 重新命名(把之前的步骤生成的文件重写命名)

#语法:rename 旧文件名(固定) 新文件名 -----语言名称.旧文件名

rename normproto testlang.normproto
rename inttemp testlang.inttemp
rename pffmtable testlang.pffmtable 
rename unicharset testlang.unicharset
rename shapetable testlang.shapetable

3.10. 合并训练文件

#语法: combine_tessdata 合成文件名. (注意小数点)

combine_tessdata testlang.

3.11. 使用

testlang.traineddata文件拷贝到tesseract安装目录的tessdata目录下

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Tesseract 4.0 是一个开源的OCR(Optical Character Recognition)引擎,用于从图像或扫描的文档中识别和提取文字信息。Tesseract最初是由惠普实验室开发的,后来由Google维护和开源。Tesseract 4.0Tesseract的最新版本,带来了一些重要的改进和新功能。 Tesseract 4.0引入了一个新的神经网络架构,称为LSTM(Long Short-Term Memory)。这种架构在OCR任务中表现出色,提高了精度和准确性,尤其是对于复杂的字体和布局。与之前的版本相比,Tesseract 4.0能够更好地识别不同大小、字体和方向的文本。 除了LSTM,Tesseract 4.0还引入了一些其他改进。它可以处理多种语言,并且支持超过100种语言的OCR识别。这使得Tesseract成为全球范围内使用最广泛的OCR引擎之一。同时,Tesseract 4.0还增强了对图像预处理和文本后处理的支持,以提高识别的准确性和可正确解释的识别结果。 Tesseract 4.0还提供了一组API,以便开发人员可以集成Tesseract OCR引擎到他们的应用程序中。这些API可以在各种编程语言中使用,包括Python、Java和C++,使得开发OCR应用程序变得更加快捷和方便。 总的来说,Tesseract 4.0是一个功能强大、高度准确、可扩展和易于使用的OCR引擎。它在处理复杂文本布局和多语言识别方面表现出色,适用于各种OCR应用领域,包括扫描文档的数字化、图像识别和文本提取等。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

街头炒河粉

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值