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#
- android中tesseract-ocr的介绍
- android中tesseract-ocr的介绍
- android中tesseract-ocr的介绍
- android中tesseract-ocr的介绍
- android中tesseract-ocr的介绍
- android中tesseract-ocr的介绍
- android中tesseract-ocr自定义字库的介绍
- android中ocr解决方案(tesseract)
- Android OCR 之 tesseract
- android ocr tesseract
- Android之Tesseract OCR
- Android OCR 之 tesseract
- Tesseract OCR Android
- Android OCR 之 tesseract
- Tesseract-ocr的安装
- tesseract-ocr 入门介绍 (一)
- Android学习之 Tesseract OCR
- c++中使用Tesseract-OCR
- C/C++面试题大汇总1【转】
- Swing 自定义布局管理器
- POJ3273 Monthly Expense(二分答案)
- Android APK反编译详解(附图)
- 黑马程序员_java基础之概述,开发工具,基础(常量,变量.运算符)
- android中tesseract-ocr的介绍
- GSON解析“="等号出现乱码
- javascript字符串参数转义
- 常见的Loading进度条动效形式
- 黑马程序员_java基础之运算符.键盘录入,流程控制语句
- 如何检验输入的“空格”符号
- 线程的启动
- Java对象序列化与反序列化(1)
- 时间管理的道理你都懂,实施起来却很难