OCR开源库Tesseract汉字识别训练

本文介绍了一个使用Python OCR库pytesseract实现的身份证OCR识别程序。包括从图片转换为tif格式,生成box文件进行标注和纠错,再到训练生成特征文件的过程。最后通过一系列命令打包生成资源文件。

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

用python OCR库pytesseract 写的一个OCR识别身份证程序:https://github.com/iChenwin/pytesseractID

先用中文做个示例:

  1. 拿到一张chi.pingfang.exp0.jpg
    这里写图片描述
  2. 将它转化为tifhttp://image.online-convert.com/convert-to-tiff
  3. 拿到chi.pingfang.exp0.tif之后,开始训练。

第一步,生成box文件。

//由tif图片生成box文件
tesseract chi.pingfang.exp0.tif chi.pingfang.exp0 -l chi_sim batch.nochop makebox

这样就得到一个 “chi.pingfang.exp0.box” 文件,它在tif图片文件上用方框标注了它识别出的汉字。
它的识别不能保证100%对,要手动纠错,用的是 “JTessBoxEditor”。
这里写图片描述
修正完之后

第二步,训练,生成特征文件。

tesseract  chi.pingfang.exp0.tif chi.pingfang.exp0  nobatch box.train
unicharset_extractor chi.pingfang.exp0.box

第三步,聚集
新建一个 font_properties 文件,内容是PingFang 0 0 0 0 0 (5个零表示:斜体, 粗体, 无衬线体, 衬线体, 哥特体)
上一步的特征文件生成后,需要将同样文字的不同字体的特征聚集到一起来产生该文字的一个原型 ,这一步需要执行三个命令:

shapeclustering -F font_properties -U unicharset  chi.pingfang.exp0.tr

这一步将会生成一个名为 shapetable 的文件。

mftraining -F font_properties -U unicharset -O chi.unicharset chi.pingfang.exp0.tr

这一步将会生成一个名为 inttemp 的文件和一个名为 pffmtable 的文件。

cntraining chi.pingfang.exp0.tr

这一步将会生成一个名为 normproto 的文件。
上述命令将生成名为 chi.pingfang.exp0.tr 的特征文件。对每一张生成的 TIF 图像,都要进行该步骤以生成特征文件。

第四步,打包
在上述步骤都完成后,将要打包入资源文件的那些文件加上一个统一的前缀,该前缀即是待生成的资源文件的名称,这里假定我们要生成 chi.traineddata 这样一个资源文件,那么我们的可能操作就是:

mv unicharset chi.unicharset
mv shapetable chi.shapetable
mv inttemp chi.inttemp
mv pffmtable chi.pffmtable
mv normproto chi.normproto

combine_tessdata chi

至此,一个简单的训练过程结束。

参考:Tesseract-OCR识别中文与训练字库实例
   Tesseract:训练
   Tesseract-OCR 验证码识别服务
   开源OCR引擎Tesseract

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值