1要编译Android平台的Tesseract,需要使用Google提供的tesseract-android-tools。
代码获取方式:
2打开README,在命令行工具中执行下面的步骤:
3注意:如果你在使用NDK r9,编译的时候会出现错误:
解决的方法就是在Application.mk中加入一行:
编译之后会生成class.jar和一些*.so。
Android OCR Application
创建一个Android应用,把生成的jar和so导入进来。
创建TessOCR:
public class TessOCR {
构造函数中需要在存储卡上创建一个目录tessdata,如果不创建程序运行就会出错。因为源码中会检测这个目录,不存在就抛出异常:
现在通过三种方式获取图片做OCR:
在图库中选取一张图,选择发送或者分享,选择OCR应用
在AndroidManifest.xml中加入IntentFilter,让OCR应用出现在图库的分享列表中:
获得URI之后,对URI解码,获取bitmap:
启动OCR应用,从图库中选择一张图做OCR
发送Intent调用图库,在onActivityResult中获取返回的URI做OCR:
Intent intent = new Intent(Intent.ACTION_PICK, android.provider.MediaSt
启动OCR应用,拍照之后做OCR
为了获取高质量的图片,在Intent中加入图片路径。返回之后就可以直接使用这个图片路径解码:
标签:OCR,Tesseract,Android