[置顶] 安卓图片OCR识别技术 tesseract研究文档20130328v1

摘要:
研究OCR图像识别技术和Android APP的DEMO:通过短期在线学习,我了解了两种OCR技术,包括tesseract和openCv。我主要研究了tesseract的OCR技术,并通过模拟器与大公司进行了demoapp共享过程,希望能取得共同进步。TesseractOCR引擎是1995年UNLV精准度竞赛的前三名引擎。

针对安卓APPOCR图片识别技术研究与DEMO

通过近端时间的在网络上的学习,了解了俩个OCR的技术,包括tesseractopenCv这俩个技术

主要研究了tesseractOCR技术,并通过模拟器做了个demo app下面与大家分享过程,希望共同进步。

Tesseract OCR引擎是1995UNLVAccuracy大赛中的排名前三的引擎。1995年到2006年间,它没有大的改进;之后,它被谷歌大幅改进,很可能是识别率最高的可用开源OCR引擎之一了。结合Leptonica图像处理库,它能读取各种各样格式的图像文件,识别出超过40多种语言的文本。

Tesseract的下载地址为:

http://code.google.com/p/tesseract-ocr/downloads/list

Tesseract for android tess-two下载地址为:

https://github.com/rmtheis/tess-two/archive/master.zip

接下来需要对下载下来的tess-two进行编译

如何用android ndk进行so的编译我放在了另外的一个文档中,大家请参考

也可以直接下载编译好的tess-two so文件

http://download.csdn.net/detail/uniquerhythm/5166651

编译好后,将src下的两个包以及libs导入到自己的项目就可以用啦

接下来我们还需要tessractandroid jar

Android官方地址:tesseract-android-tools

http://code.google.com/p/tesseract-android-tools/downloads/list?can=1&q=

但它必须要一个匹配库,即tessdata,我们可以从官方拷贝,在前面git的项目里面tesseract源码目录有现成的tessdata可以用,对于中文,googlecode上也有下载,当然也可以自己训练不同语言的tessdata

leptonica的类我们不必使用,只要使用tess包的类就行了

下面是tessBaseAPI的主要用法

TessBaseAPI

//////////////////////华丽的分割线//////////////////////////////////////////////////////

TessBaseAPI baseApi=new TessBaseAPI();

//初始化tess
//android下面,tessdata肯定得放到sd卡里了
//如果tessdata这个目录放在sd卡的根目录
//那么path直接传入sd卡的目录
//eng就是英文,关于语言,按ISO 639-3标准的代码就行,具体请移步wiki
baseApi.init("tessdata文件夹的父级目录","eng");

//options是为了缩放图片,这个酌情缩放,图片小的话可以不缩放
BitmapFactory.Options options=newBitmapFactory.Options();
//缩小为原来的1/2
options.inSampleSize=2;

//bitmap,我这里是以流的形式,只要能形成Bitmap就行
Bitmap bitmap = BitmapFactory.decodeStream(instream,null,options);
        instream.close();    
//设置要ocr的图片bitmap
baseApi.setImage(bitmap);
//根据Init的语言,获得ocr后的字符串
String text= baseApi.getUTF8Text();

通过以上即可对图片进行识别并得到识别文字

下面是我自身的demo开发的详细过程与大家分享

首先创建一个界面:主要包括内存图片识别照片识别识别,图片区,以及识别结果区域

[置顶] 安卓图片OCR识别技术 tesseract研究文档20130328v1第1张

确认之前编译好的so文件以及下载的jar包放入Lib

[置顶] 安卓图片OCR识别技术 tesseract研究文档20130328v1第2张

针对tessract jar包方法进行程序编写

[置顶] 安卓图片OCR识别技术 tesseract研究文档20130328v1第3张

因为程序的写法,需要将tessdata识别库与ocr图片放到SD卡中

[置顶] 安卓图片OCR识别技术 tesseract研究文档20130328v1第4张

接着,右键项目运行选择android,(android环境的配置请参考李涛的分享文档)

[置顶] 安卓图片OCR识别技术 tesseract研究文档20130328v1第5张

运行:接下来就是漫长的等待。。。。[置顶] 安卓图片OCR识别技术 tesseract研究文档20130328v1第6张

运行成功:

[置顶] 安卓图片OCR识别技术 tesseract研究文档20130328v1第7张

最终运行结果:成功

结论:对于tesseract的识别如果换成其他字体或手写体,则需要手工的训练tesseract的识别字体库及放入SD卡中tessdata文件夹中的文件

现还有一些问题需要大家一起来共同克服完成

1.照相机功能

2.对于手写字体的识别训练的识别率的控制

针对于tessdata的训练,我这里还有一个网址,大家可以上去学习一下相信会有作用

Tesseract-OCR字符识别-样书训练

http://www.myexception.cn/mobile/1119147.html

以上就是我近期的技术研究以及demo,与大家分享希望共同进步,如大家有问题,可以随时找我沟通!

源码以及程序找不到可以找我联系!站内短信 或者 回复哦!

免责声明:文章转载自《[置顶] 安卓图片OCR识别技术 tesseract研究文档20130328v1》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇如何管理 node 的多个版本Faiss流程与原理分析下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

linux系统如何使用tess4j(java)进行ocr图片文字识别

1、安装GCC开发环境,从而支持后续程序的编译安装:yum groupinstall "Development Tools" 2、安装tesseract所需的依赖库yum -y install libjpeg* libpng* freetype* gd* giflib* libtiff* zlib* 3、安装tesseract和leptonica(1)首先...

opencv4nodejs 在 mac 上的安装

一直报错 RPC, 通过以下办法解决的: brew install git //更新git版本 git config --global http.postBuffer 524288000 //增大git缓存 brew unlink tesseract // 如果没有tesseract可以忽略这个命令 然后执行npm -g install opencv4no...

OCR识别-python3.5版

刚接触,啥子都不会,按着教程走 需求:识别图片中的文字信息环境:windows系统 开发语言:python3.5 使用工具类:1.pyocr      2.PIL      3.tesseract-ocr 步骤: 1.pyocr 网络通直接使用命令:pip install pyocr 网络不通,转至https://pypi.python.org/pypi/...

中国知网(CNKI)验证码识别

中国知网(CNKI)是最重要的中文学术资源数据库,收录绝大多数中文学术刊物。我们可以检索论文,也可以导出检索结果前6000条论文的题录数据。 在CNKI检索结果翻页10次以上,用户需要手动输入验证码才能继续。为了实现自动化题录数据导出,我们就需要通过程序识别验证码。最终,基于Eugu.CV实现验证码识别,正确率在70%以上,能保证自动化导出过程的连贯。 C...

OCR1:开源库

OCR(Optical Character Recognition,光学字符识别)是指电子设备(例如扫描仪或数码相机)检查纸上打印的字符,通过检测暗、亮的模式确定其形状,然后用字符识别方法将形状翻译成计算机文字的过程。优秀的开源OCR软件包括: Tesseract:原本由惠普开发的图像识别类库tesseract-ocr已经更新到2.04, 就是最近Goo...

halcon算子

halcon的算子列表 Chapter 1 :Classification 1.1 Gaussian-Mixture-Models 1.add_sample_class_gmm 功能:把一个训练样本添加到一个高斯混合模型的训练数据上。 2.classify_class_gmm 功能:通过一个高斯混合模型来计算一个特征向量的类。 3. clear_all_...