您的位置:首页 > 移动开发 > Android开发

如何通过Tesseract开源OCR引擎创建Android OCR应用

2014-12-23 10:18 274 查看
Tesseract是遵守 Apache
License 2.0协议的开源OCR引擎。这里介绍下如何在Android平台编译Tesseract,以及如何快速创建一个简单的OCR应用。







参考原文:Making an Android OCR Application
with Tesseract


Tesseract Android Tools

要编译Android平台的Tesseract,需要使用Google提供的tesseract-android-tools

代码获取方式:

?
打开README,在命令行工具中执行下面的步骤:



注意:如果你在使用NDK r9,编译的时候会出现错误:

?
解决的方法就是在Application.mk中加入一行:

?
编译之后会生成class.jar和一些*.so。


Android OCR Application

创建一个Android应用,把生成的jar和so导入进来。

创建TessOCR:



构造函数中需要在存储卡上创建一个目录tessdata,如果不创建程序运行就会出错。因为源码中会检测这个目录,不存在就抛出异常:



就这么简单。现在通过三种方式获取图片做OCR:


在图库中选取一张图,选择发送或者分享,选择OCR应用

在AndroidManifest.xml中加入IntentFilter,让OCR应用出现在图库的分享列表中:

?
获得URI之后,对URI解码,获取bitmap:




启动OCR应用,从图库中选择一张图做OCR

发送Intent调用图库,在onActivityResult中获取返回的URI做OCR:




启动OCR应用,拍照之后做OCR

为了获取高质量的图片,在Intent中加入图片路径。返回之后就可以直接使用这个图片路径解码:



最后不要忘记下载语言包,并push到存储卡的tessdata目录下。


源码

https://github.com/DynamsoftRD/android-tesseract-ocr

?
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  android OCR Tesseract