android中tesseract-ocr的介绍

来源:互联网 发布:网页声音提取软件 编辑:程序博客网 时间:2024/06/05 03:19

参考:http://gaut.am/making-an-ocr-android-app-using-tesseract/
中间提到的github上的两个例子
https://github.com/rmtheis/tess-two,
https://github.com/rmtheis/android-ocr

制作训练库
jTessBoxEditor
需要安装JAVA虚拟机才能运行。
1. 获取样本图像。用画图工具绘制了5张0-9的文样本图像(当然样本越多越好),如下图所示:
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述

将图片放在jTessBoxEditor\tesseract-ocr\temp目录下

2.合并样本图像。运行jTessBoxEditor工具,在点击菜单栏中Tools—>Merge TIFF。在弹出的对话框中选择样本图像(按Shift选择多张),合并成num.font.exp0.tif文件。
3.生成Box File文件。打开命令行,执行命令:

..\tesseract num.font.exp0.tif num.font.exp0 batch.nochop makebox  

生成的BOX文件为num.font.exp0.box,BOX文件为Tessercat识别出的文字和其坐标。
注:Make Box File的命令格式为:

tesseract [lang].[fontname].exp[num].tif [lang].[fontname].exp[num] batch.nochop makebox  

其中lang为语言名称,fontname为字体名称,num为序号,可以随便定义。
4.文字校正。运行jTessBoxEditor工具,打开num.font.exp0.tif文件(必须将上一步生成的.box和.tif样本文件放在同一目录),如下图所示。可以看出有些字符识别的不正确,可以通过该工具手动对每张图片中识别错误的字符进行校正。校正完成后保存即可。
这里写图片描述
每页修改都要保存

5.定义字体特征文件。Tesseract-OCR3.01以上的版本在训练之前需要创建一个名称为font_properties的字体特征文件。
font_properties不含有BOM头,文件内容格式如下:

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

其中fontname为字体名称,必须与[lang].[fontname].exp[num].box中的名称保持一致。
、 、 、、 的取值为1或0,表示字体是否具有这些属性。
这里在样本图片所在目录下创建一个名称为font_properties的文件,用记事本打开,输入以下下内容:

font 0 0 0 0 0  

这里全取值为0,表示字体不是粗体、斜体等等。
6.生成语言文件。在样本图片所在目录下创建一个批处理文件,输入如下内容。

rem 生成tr文件..\tesseract num.font.exp0.tif num.font.exp0 box.train   rem 生成unicharset文件..\unicharset_extractor num.font.exp0.box   rem 生成很多文件..\mftraining -F font_properties -U unicharset -O num.unicharset num.font.exp0.tr..\cntraining.exe num.font.exp0.tr rem 更改文件名 前加num.rename normproto num.normproto   rename inttemp num.inttemp  rename pffmtable num.pffmtable  rename shapetable num.shapetable rem 组合生成训练库文件..\combine_tessdata num.

将批处理通过命令行执行。执行前后对比如下:
这里写图片描述
这里写图片描述

6.测试
将生成的num.traineddata 复制到jTessBoxEditor\tesseract-ocr\tessdata目录下
这里写图片描述

..\tesseract num1.jpg result -l num  

在temp文件夹下生成个result的.txt.文件,即为识别的结果
7.temp文件下载
http://pan.baidu.com/s/1eQpOECq

参考:
http://blog.csdn.net/djun100/article/details/25753727
有错误
http://blog.csdn.net/lk3687051/article/details/17242885
http://blog.csdn.net/firehood_/article/details/8433077#

0 0
原创粉丝点击