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

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

Tesseract OCR引擎是1995年UNLVAccuracy大赛中的排名前三的引擎。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导入到自己的项目就可以用啦

接下来我们还需要 tessract的android 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

[java] view plaincopyprint?
  1. //华丽的分割线//
  2. TessBaseAPI baseApi=new TessBaseAPI();
  3. //初始化tess
  4. //android下面,tessdata肯定得放到sd卡里了
  5. //如果tessdata这个目录放在sd卡的根目录
  6. //那么path直接传入sd卡的目录
  7. //eng就是英文,关于语言,按ISO 639-3标准的代码就行,具体请移步wiki
  8. baseApi.init("tessdata文件夹的父级目录","eng");
  9. //options是为了缩放图片,这个酌情缩放,图片小的话可以不缩放
  10. BitmapFactory.Options options=newBitmapFactory.Options();
  11. //缩小为原来的1/2
  12. options.inSampleSize=2;
  13. //bitmap,我这里是以流的形式,只要能形成Bitmap就行
  14. Bitmap bitmap = BitmapFactory.decodeStream(instream,null,options);
  15. instream.close();
  16. //设置要ocr的图片bitmap
  17. baseApi.setImage(bitmap);
  18. //根据Init的语言,获得ocr后的字符串
  19. String text= baseApi.getUTF8Text();

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

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

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

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

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

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

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

运行:接下来就是漫长的等待。。。。

运行成功:

最终运行结果:成功

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

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

1.      照相机功能

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

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

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

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

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

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

针对安卓APP的 OCR图片识别技术研究与 DEMO相关推荐

  1. 国航APP接入百度大脑OCR身份证识别技术,让机票购买更便捷!

    价值成果 中国国航APP通过接入百度大脑OCR身份证识别技术,实现了旅客线上自助修正错购机票信息的功能.购票信息错误的旅客只需在中国国航APP上传身份证照片,即可进行购票身份认证,并立即修正错误信息. ...

  2. 汉字进行计算机识别的原理,计算机OCR文字识别技术的原理和未来发展趋势

    杨俊叶++王训伟 摘要:文章首先对OCR技术的发展背景进行了介绍,指出了OCR文字识别系统在扫描仪.文字编辑等领域的应用及优势.通过对OCR技术工作原理的介绍,重点论述了OCR文字识别系统主要的图像处 ...

  3. Ocr 图文识别技术——基于百度云OCR技术学习与总结

                                                               Ocr 图文识别技术--基于百度云OCR技术学习与总结 1.百度智能云 控制台   ...

  4. OCR证件识别技术的功能特点

    OCR证件识别技术的功能特点 1.识别身份证种类多:可识别二代身份证(包含汉族身份证和少数民族身份证).香港身份证.澳门身份证.台湾身份证及部分国外身份证: 2.识别速度快:单张OCR手机身份证号识别 ...

  5. ocr文字识别技术有什么意义

    OCR(Optical Character Recognition,光学字符识别)是一种将印刷体或手写字转换成电子文本的技术.OCR文字识别技术有以下意义: 提高工作效率:OCR文字识别技术可以将印刷 ...

  6. 阿里云OCR图片识别

    阿里云OCR图片识别 请求参数(Body) 请求示例(java) 正常返回示例 错误码定义 阿里云OCR图片识别: 单字识别,表格识别,旋转功能 准备条件:阿里云OCR图片识别API购买,初次购买1分 ...

  7. 怎样实现ocr文字识别技术

    OCR(Optical Character Recognition,光学字符识别)是一种将印刷体字符转换为电子文本的技术.要实现OCR文字识别技术,通常需要以下步骤: 收集图像:首先,需要收集包含要识 ...

  8. Jmeter识别登录验证码_使用百度AI图片识别技术

    Jmeter识别登录验证码_使用百度AI图片识别技术 一.环境准备 1.下载并引用以下Jar包 2.将下载的jar包放至Jmeter中的lib目录中即可使用 二.使用步骤 1.在获得验证码的请求后使用 ...

  9. OCR图片识别文字源码(支持多国文字识别)

    OCR图片识别文字源码(支持多国文字识别) 程序员帮帮

  10. 发票OCR扫描识别技术

    通过利用发票OCR扫描识别技术,批量采集增值税发票等票据上的信息,并输出结构化的数据,与传统的人工录入数据相比,大大的减少了财务人员的工作量,提升了其工作效率. 发票自动识别/发票拍照识别/发票OCR ...

最新文章

  1. 3种Java工厂模式深入理解分析
  2. android查询所有照片,Android查询外部存储中所有照片
  3. python傅里叶逆变换_OpenCV-Python系列之傅里叶变换
  4. springboot发送qq邮件
  5. java 二进制 归属权限_java 二进制 权限管理
  6. 切换google的公共库缓解网站访问慢的问题
  7. 机器视觉运动控制一体机应用例程|U盘视觉定位激光打标解决方案
  8. 产品读书《Facebook效应:看Facebook如何打造无与伦比的社交帝国》
  9. windowsXPsp3恢复桌面IE图标
  10. 2013-07-22 码市-武汉 返程票
  11. Android源码编译及替换成自己编译的linux内核
  12. 卷积神经网络的网络结构——ResNet
  13. Kafka(生产者)
  14. edx 4G Network Essentials 4 - Nodes of the control plane (HSS, MME)
  15. 计算机组装与维护学习网站,计算机组装与维护学习课件.ppt
  16. js限制输入框只能输入数字
  17. 大闹天竺里的机器人_数字看清王宝强《大闹天竺》里的植入
  18. PDF转Word文字可编辑的软件有哪些?
  19. Altium Designer 19.1.18 - 更改铺铜的透明度
  20. PowerDesinger12.5破解中文版-资源共享与安装介绍

热门文章

  1. 【目标跟踪论文阅读】Cooling-Shrinking Attack: Blinding the Tracker with Imperceptible Noises
  2. Linux From Scratch docker lfs build 在Fedora 31 Linux上自己动手从源码一步一步编译出一个x86_64架构LFS Linux操作系统
  3. 用计算机进行几何证明属于,湖南省计算机二级精选选择题1
  4. 天宇优配|“宁组合”全线大跌,“蔚小理”也重挫!医药
  5. mapped file has no Team ID and is not a platform binary (signed with custom identity or adhoc?
  6. spring boot中如何实现在手机注册和登录时获取验证码(阿里短信服务)
  7. 苹果几最好用_苹果quot;官方保险quot;再升级,屏幕两年可以碎4次,值么?
  8. 信息传输技术主要是指计算机技术和网络技术,信息传输技术主要是指什么
  9. 微信公众号和服务器的关系,微信公众号订阅号和服务号主要区别
  10. 汽车厂自制的流水线边 物料亮灯防错系统