当前位置:首页 >> 计算机软件及应用 >>

Android的tesseract-ocr训练实例


Android 的 tesseract-ocr 的训练实例
我们可以根据自己的需求来训练一套自己的识别库的, 比方说我们要识别验证码, 识别身份 证号码等,我们就可以用下面的方法来训练一套识别库。 网上关于 OCR 训练的方法很多,我是参照网上两篇文章来训练的,链接附在正文后面,下 面结合我的操作经验来说下训练的过程。 首先我们需要下面几个工具: tesseract-ocr-3.01,上面两篇文章都是用这个版本 jTessBoxEditor, 该工具是用 java 写的 box 编辑器,要有 JAVA 虚拟机才行,需安装 jre,如果搞 Android 开发之前装过 JDK 的话就不用再装 jre,因为在装 JDK 的时候就会装 jre。

1、 先新建一个 trainocr 文件夹,将上面两个文件拷贝进来,然后解压这两个文件,我们进入 Tesseract-ocr 文件夹下新建一个 temp 文件夹。

2、接下来我们准备好我们需要训练的素材如下图

要想提高识别率,我们需要提供多张像上面这样的图片,图片格式需要为 tiff 格式的,可以通过 windows 自带的画图工具来另存 为 tiff 格式,或者用 matlab 函数进行转换,我的素材文件名都是 t+数字+.jpg,转换为 t+数字+.tif,以下是 jpg 转 tif 的 matlab 代 码:

clear all;clc int num; for num = 1:18; string filename; filename=strcat('t',num2str(num)); filename=strcat(filename,'.jpg'); A=imread(filename); newfilename=strcat('t',num2str(num),'.tif'); imwrite(A,newfilename); end
准备好多张图 tiff 图片后,打开 jTessBoxEditor.jar,打开方式和界面如下图

在此之前我们需要在第 1 步建立的 temp 文件夹下新建一个 num.tif 的文件,接下来我们选择 tool–>Merge TIFF 然后选择准备 好的多张 tiff 图片,注意这里是全部选中,然后点击打开,然后选中我们刚刚建立的 num.tif 文件,点击保存,这样我们就将多 张 tiff 图片 merge 到了一个文件里面了。

3、接下来我们开始生成 box 文件了,cmd 命令行进入 temp 文件夹下,然后输入如下命令 E:|\software\Trainocr\Tesseract-ocr\temp>..\tesseract.exe num.tif num batch.nochop makebox

输入完后会在 temp 文件夹下多了个 num.box 文件,该文件记录了识别出来的每个字和它对应的位置坐标。

4、使用 jTessBoxEditor, 我们切换到 Box Editor,然后 open 打开 num.tif 文件,需要记住的是第 2 步生成的 num.box 要和这个 num.tif 文件同在一个目录下。通过右上角的 X,Y,W,H 对每个需要改正的字符进行调整,逐个校正文字,后保存。

5、Run Tesseract for Training。输入命令: ..\tesseract.exe num.tif num nobatch box.train

6、接下来是计算字符集,输入如下命令

..\unicharset_extractor.exe num.box

7、接下来我们需要在 temp 文件夹下建一个 font_properties 文件,3.01 版本的 OCR 需要这个文件,该文件的目的是提供输出 时识别出来的字体样式信息,文件的格式为 <fontname> <italic> <bold> <fixed> <serif> <fraktur> timesitalic 1 0 0 1 0 我们可以根据实际情况新建 font_properties,我写的是 num 0 0 0 0 0 意思是普通字体,没有任何格式。 然后执行以下命令 ..\mftraining.exe -F font_properties.txt -U unicharset num.tr

8、Clustering,输入命令 ..\cntraining.exe num.tr

9、此时在 temp 文件夹下已经有很多文件了,需要把 inttemp,Microfeat,normproto,pffmtable,unicharset 这几个文件加上 前缀 num. (注意有个点号),然后输入以下命令 ..\combine_tessdata.exe num. 出来的结果中我们需要确定 type 1, type3, type4, type5 对应的后面数据不能为-1, 这样我们就可以用这个新字典来识别了, 将生成的 num.traineddata 文件就是我们所学要的语言包了。

测试结果: 如果用 eng. traineddata 进行识别的话,对某些字体的数字识别率很低。

如果用自己训练的 num. traineddata 进行识别的话,对某些字体的数字识别率明显提高了。

【参考文章】 : http://my.oschina.net/lixinspace/blog/60124 http://blog.csdn.net/djun100/article/details/25753727 这两篇文章都是比较好的教程 ,


相关文章:
Android的tesseract-ocr训练实例.pdf
Android 的 tesseract-ocr训练实例我们可以根据自己的需求
tesseractocr训练和识别总结.doc
tesseractocr训练和识别总结 - Tesseract OCR 训练和识别总结 前段时间玩了一下 Tesseract OCR, 结果可以看这篇文 章。现在总结一下心得,希望对寻到这里读...
使用jTessBoxEditorFX训练Tesseract-OCR教程.doc
使用jTessBoxEditorFX训练Tesseract-OCR教程 - 使用 jTessBoxEditorFX 训练 Tesseract-OCR 教程 步骤一:使用画图软件生成要训练的.ti...
提高Tesseract-ocr识别精度.doc
在此我们利用 Tesserac-ocr 3.02 训练生成新的识别语言库, 我们找到两种 Tesseract-ocr 的训练方法:A.使用 jTessBoxEditor 工具 B.使用 CowBoxer 工具。为了能够...
Tesseract字库训练说明.doc
Tesseract字库训练说明_计算机软件及应用_IT/计算机_专业资料。Tesseract字库训练,...便是最终生成的语言文件,将生成的 my.traineddata 拷贝到 Tesseract-OCR-->...
如何提高Tesseract-OCR的识别精度.doc
如何提高Tesseract-OCR的识别精度 - 本文介绍了提高Tesseract-OCR识别精度的步骤及注意事项。通过对Tesseract-OCR的训练能有效提高Tesseract-OCR的识...
OCR开源代码以及OCR公开训练测试数据集汇总.doc
OCR开源代码以及OCR公开训练测试数据集汇总_计算机软件及应用_IT/计算机_专业资料...p/tesseract-ocr/ 1.7 OCR,http://www.ocrspace.com/ocr-download.html ?...
Tesseract 3.02中文字库训练.doc
Tesseract 3.02中文字库训练_计算机软件及应用_IT/计算机_专业资料。Tesseract 3.02 中文字库训练下载 chi_sim.traindata 字库 下载 tesseract-ocr-setup-3.02.02....
Tesseract3.02中文字库训练.doc
Tesseract3.02中文字库训练 - [转]Tesseract 3.02 中文字库训练 下载 chi_sim.traindata 字库 下载 tesseract-ocr-setup-3.0...
Tesseract 3 语言数据的训练方法.doc
.003 -l test batch.nochop makebox 这里仅仅是使用 3 个原始文件作为例子。...tesseract-ocr训练 16页 免费 数字图像识别与解释 55页 免费 Tesseract简介 2页...
ocr tesseract使用方法.txt
ocr tesseract使用方法_计算机软件及应用_IT/计算机_专业资料。ocr tesseract使用方法 命令行: 5.在Windows平台下调用“tesseract.exe”测试: 1)在google下载...
Android(经典实例)_图文.pdf
经典实例| Android(经典实例)_计算机软件及应用_IT/计算机_专业资料。Android(经典实例) 您的评论 发布评论 用户评价 这是我最近看到的关于经典实例最好的文章 20...
Android(经典实例).pdf
Android(经典实例) - Android目前已经占据了全球智能手机操作系统市场过半的市场份额,Android应用开发可谓如火如荼。本文章收集了极具学习、保存、参考价值的Android...
Android开发进度实例.xls
Android开发进度实例_计算机软件及应用_IT/计算机_专业资料。真实项目文
基于Android的手机OCR识别技术设计与实现_图文.pdf
基于Android的手机OCR识别技术设计与实现 - 2012 年第 25 卷第
OCR词库训练生成步骤.txt
用tif文件生成box文件:执行 tesseract langyp.font.exp0.tif langyp.font.exp...Android的tesseract-ocr... 暂无评价 4页 免费 ocr训练与读取HACION 暂无评价...
34个最实用的Android精彩案例源码.doc
34个最实用的Android精彩案例源码_计算机软件及应用_IT/计算机_专业资料。网络搜集的34个Android 精彩源码,最实用的源码 34 个 Android 精彩案例源码 0 主要带大家...
Android(经典实例).pdf
Android(经典实例)_IT/计算机_专业资料。Android(经典实例) Android 学习笔记-让我们快速上手吧 Google 的 Android SDK 发布也有一段时间了,一直想研究一下却苦...
Android项目开发实战笔记.doc
Android项目开发实战笔记_计算机软件及应用_IT/计算机_专业资料。Android项目开发...进行组件的实例化 o) p) 增加了监听器接口,并重写了相关的方法 q) r) s)...
phpocr实战:用tesseract从图像中读取文字.doc
一旦我们在本地有 一份文件拷贝,我们就可以产生一个 Tessearct 库的实例, 然后进行分析: // Instantiate the Tessearct library $tesseract = new TesseractOCR...