Tesseract-OCR识别中文与训练字库实例

本文介绍如何配置Tesseract-OCR引擎以支持中文识别,并通过训练自定义字库来提高识别精度。步骤包括下载必要的软件及文件、进行中文识别、训练自定义字库以及测试效果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、准备工作

1、下载Tesseract-OCR引擎,注意要3.0以上才支持中文哦,按照提示安装就行。

2、下载chi_sim.traindata字库。要有这个才能识别中文。下好后,放到Tesseract-OCR项目的tessdata文件夹里面。

3、下载jTessBoxEditor,这个是用来训练字库的。

以上的几个在百度都能找到下载,就不详细讲了。

 

 

 

二、识别

1、进入cmd,进入到要识别的图片的路径下。

2、输入命令

1

tesseract 图片名称 生成的结果文件的名称 字库

例如我的图片识别就是:

1

tesseract test.jpg result -l chi_sim

 

识别完后会生成result.txt文件

 

当然啦效果不太理想。所以我们要训练自己的字库。

 

三、训练

为了方便 tif文面命名格式[lang].[fontname].exp[num].tif
lang是语言 fontname是字体 
比如我们要训练自定义字库 mjorcen字体名normal
那么我们把tif文件重命名 mjorcen.normal.exp0.jpg

 

 

 

1、生成.box

图片文件夹下Shift+右键shell命令行中执行1:

tesseract mjorcen.normal.exp0.jpg mjorcen.normal.exp0 -l chi_sim batch.nochop makebox

 

 

box文件和对应的tif一定要在相同的目录下,不然后面打不开。

2、用jTessBoxEditor.jar打开tif文件,然后根据实际情况修改box文件 

3、打开jTessBoxEditor矫正错误并训练

打开train.bat

 

找到tif图,打开,并校正。

 

4、训练。

5、 生成 .tr文件

执行2:

tesseract  mjorcen.normal.exp0.jpg mjorcen.normal.exp0  nobatch box.train

6、成一个unicharset文件

执行3:

unicharset_extractor mjorcen.normal.exp0.box

 

7、新建一个font_properties文件

里面内容写入 normal 0 0 0 0 0 表示默认普通字体

echo font 0 0 0 0 0>font_properties

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

8、运行命令

执行1

shapeclustering -F font_properties -U unicharset mjorcen.normal.exp0.tr

执行2

mftraining -F font_properties -U unicharset -O unicharset mjorcen.normal.exp0.tr

执行3

cntraining mjorcen.normal.exp0.tr

 

9、最后会生成五个文件,把目录下的unicharsetinttemppffmtableshapetablenormproto这五个文件前面都加上normal.

10、合并五个文件:

执行:

combine_tessdata normal.

得到训练好的字库。

 

 

四、测试

1、把 normal.traineddata 复制到Tesseract-OCR 安装目录下的tessdata文件夹中

 

2、识别命令:

1

tesseract mjorcen.normal.exp0.jpg mjorcen.normal.exp0 -l normal

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值