Tesseract-OCR 训练中文
来源:互联网 发布:钢窗 知乎 编辑:程序博客网 时间:2024/06/10 06:12
为了提高Tesseract库的中文识别率,可以对它进行中文字的训练。
1.首先安装Tesseract。这里注意要安装,因为安装的程序里面包含其他训练用到的程序,编译版本没有这些工具。
2.下载jTessBoxEditor工具。这个工具是Java写的,运行需要JRE。这个工具主要是用来修改BOX文件的,用来校对文字。下图为该工具的目录,直接点击红框中的程序即可跑起来。
这次准备让库可以识别取消这两个字,准备了5张图:
3.生成tif格式的文件
最好将图片都放在Tesseract库的安装目录下,然后就在这个目录下进行操作。点击jTessBoxEditor的Tools按钮中的Merge TIFF。然后将我们做样本的5张图片全部选中,点击打开。这时候会弹出另一个保存对话框,就是我们想要的tif文件,对于tif文件命名规则 [lang].[fontname].exp[num].tif。其中lang是语言,fontname是字体。按自己需求自行设定即可。点击保存,这时候目录下就有我们的tif文件了。
4.生成BOX文件
首先打开命令行,进入Tesseract目录,输入命令:tesseract.exe chi.myself.exp0.tif chi.myself.exp0 batch.nochop makebox
5.校对文字
用jTessBoxEditor打开刚才生成的tif文件
我们会发现,文字显示的信息是不对的。
我们需要把每张图片的Char目录下的字符都改正过来。现在的Tesseract库将 取消 识别成了四部分,所以有1,2,3,4四行,我们需要它校正对两行,而且字符应该是 取消 。如下操作:
这个时候这两部分就合在一起了。但是Char这列显示的是 H,应该改成取。如下操作:
其他的字符同样操作,最后的效果就是这样了:
我这里一共有5张图,都把他们改好以后,点击Save即可。这时候我们可以看一下chi.myself.exp0.box文件(记事本打开即可),会发现里面做好了校正。
注:这步校正工具也可以在box文件里直接进行,但容易出错。
6.生成.tr文件
tesseract.exe chi.myself.exp0.tif chi.myself.exp0 nobatch box.train
7.生成unicharset文件。
unicharset_extractor chi.myself.exp0.box
7.新建font_properties文件
用记事本新建一个明文font_properties文件,内容格式为:
<fontname> <italic> <bold> <fixed> <serif> <fraktur>
用记事本如:myself 0 0 0 0 0 记住是5个0。
7.运行下面三条命令:
shapeclustering.exe -F font_properties.txt -U unicharset chi.myself.exp0.tr
mftraining.exe -F font_properties.txt -U unicharset -O unicharset chi.myself.exp0.tr
cntraining.exe chi.myself.exp0.tr
8.重命名
把目录下的unicharset、inttemp、pffmtable、shapetable、normproto这五个文件前面都加上myself. 注意有 点 。如下图:
执行命令
combine_tessdata myself.
生成这个文件,说明我们成功了。
将该文件拷贝到tessdata文件里,就可以进行测试使用了
- Tesseract-OCR 训练中文
- Tesseract-OCR 训练自己的中文字库
- 纯记录,Tesseract-OCR 中文字符训练
- tesseract-ocr识别中文与字库训练
- tesseract-ocr训练方法
- Tesseract-OCR训练笔记
- tesseract-ocr训练方法
- tesseract-ocr训练
- tesseract-ocr训练步骤
- tesseract-ocr训练方法
- tesseract-ocr训练方法
- tesseract-ocr训练方法
- [python]Tesseract OCR训练
- Tesseract-OCR ---样本训练
- Tesseract-ocr训练字库
- tesseract-OCR字库训练
- Tesseract-OCR识别中文与训练字库实例
- Tesseract-OCR识别中文与训练字库实例
- [MVC4]ASP.NET MVC4+EF5(Lambda/Linq)读取数据
- POJ 1016 Numbers That Count(水~)
- 浏览器JS文件缓存问题
- 获取Android手机短信中心号码
- hdoj The first place of 2^n 3215 (数学技巧&预处理)
- Tesseract-OCR 训练中文
- Android 日常开发总结的技术经验 60 条
- IOS多线程及队列的使用
- SPOJ 16549 QTREE6 - Query on a tree VI
- CSS 外边距(margin)重叠及防止方法
- ListView小知识点总结
- iOS中常用到的全局变量
- Android源码阅读工具——在Ubuntu下使用Source Insight
- C++ Primer 学习笔记——动态内存与智能指针(1)