tesseract-ocr3.02的用法详解(训练词库)

对于图片的识别我们首先要进行图片的处理(包括滤波,去噪等),处理过的图片可以显著增加识别的正确率。

第一步首先下载tesseract-ocr3.02 。

第二步是下载JTessBoxEditor,因为这个组件是java开发的所以我们要装java的运行环境(其中注意如果是压缩的图片,JTessBoxEditor不能合并)。

第三步开始词库的训练

1.合并图片(图片必须为tif格式的,图片转换器ImageMagick,可以在网上下载)

 用JTessBoxEditor合并多张tif图片合并为chm.test.exp0.tif。图片命名规则如[lang].[fontname].exp[num].tif,其中[]中是变量,里面的内容可以任意写。但是下面生成的文件也要是这种格式。

2.开始生成box文件,其命令语句如下所示(其中-l是小写的L,表示语言,-psm 7 表示的是将整张图片视为一行文本来读,如果是单个词可以用-psm 8表示。。。)

3 使用JTessBoxEditor来编辑box文件 如下图所示,编辑后保存。

4创建一个font_properties,这个文件是用来描述字体的属性的。该文件可以是无格式的或者txt格式的。该文件内容如下

     test             0         0          0           0          0

<fontname> <italic> <bold> <fixed> <serif> <fraktur> 

其对应关系如上,test表示是我们自己训练的语言的名字 其他的数字表示字体的属性。

5开始训练词库

如果出现上图所示的情况说明训练成功,生成chm.test.exp0.tr(字符特征集文件)成功。

6计算字符集,生成字符集(unicharset)文件

这一步生成了unicharset文件。

7聚集字符特征inttemp、pffmtable

此时产生的Warning是说当前没有shapeTable,对我们的运行没有影响,这一步会产生一个shapeTable.

8产生字符形状正常化特征文件normproto

更改生成的normproto、inttemp、pffmtable、unicharset、shapetable这些文件的名称,将它们命名为test.normproto、test.inttemp、test.pffmtable、test.unicharset、test.shapetable(网上很多资料上面对shapetable没有重命名,会出现一个异常)。

命令行窗口会出现如下的情况。

index >= 0 && index < size_used_:Error:Assert failed:in file c:\usr\projects\bui
ldfolder\tesseract-ocr\ccutil\genericvector.h, line 512

9生成训练字库文件

当地1、3、4、5、13不为-1的时候说明训练库生成成功。

10 测试

转载于:https://www.cnblogs.com/huyulin/p/3305563.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值