对于Android中的文字识别不得不了解,这是HP公司于1985~1995年间开发的商业级OCR(Optical Character Reader, 光学字符阅读器)引擎,并于2005年开放源代码。
面向Android的Tesseract工具
tess- two是Tesseract Tools for Android (tesseract-android-tools) 的一份拷贝,并添加了一些功能。Tesseract Tools for Android是Tesseract OCR和Leptonica图像处理库的Android API与构建文件的集合。github上的网址为:
https://github.com/rmtheis/tess-two
关于tess-two的编译过程,可以参考上述网址,根据我的编译经历,发现执行”android update project –path .”一步是,需要指定–target选项,其参数通过命令”android list targets”获取到id值,再指定,如下(记得连接好你的Android手机)。
root@Leon:/home/work/tess-two# android list targets
Available Android targets:
----------
id: 1 or "android-18"
Name: Android 4.3
Type: Platform
API level: 18
Revision: 1
Skins: WVGA854, WXGA800, WSVGA, WVGA800 (default), WQVGA400, WXGA720, QVGA, WQVGA432, WXGA800-7in, HVGA
ABIs : armeabi-v7a
root@Leon:/home/work/tess-two# android update project --path . --target 1
其中的”1″便是来自id后面的值。之后,便按照tess-two的github上的描述,添加到Eclispe即可。
基于tess-two的Android应用
有了面向Android的Tesseract库tess-two,接下来就是使用Android应用来测试和使用了。github上的android-ocr就是这样的应用:
https://github.com/rmtheis/android-ocr
经过测试,发现算法的运行时间还是比较慢的,一段话的中文,处理时间大约20秒。识别精度也比较有限,在一张照片中文字比较多时,识别精度有所下降,如果文字比较少且比较大,则精度较高。