如何在安卓系统里使用python结合Tess-Two进行OCR识别

如何在安卓系统里使用python结合Tess-Two进行OCR识别

前几个月因为想了解一下统计学习算法,本来是用MATLAB,但是后来网上都推荐用tenserflow,反正我的C++也没学完,C也基本都忘了,就只会用MFC写点小程序,就转向重新学习python了,python的确很方便,安装过程嘛,就是各种install,apt,get,非常符合我这种懒人特性,后来统计学习算法遇到一些障碍,一直没法优化,感觉整体就会三板斧,调参、改算法什么都不会,还要继续学习,手上的小米note刚好的淘汰,就想先用Python结合小米note进行各种APP的每日签到活动,本来是电脑adb连接手机,控制手机签到,这一步利用tesseract基本实现了,但是!为了每天不到一块钱,就要我的笔记本一直运行,实在是有点浪费电脑性能,就想移植到andriod系统上,手机自己运行程序,adb移值还好实现,但是tesseract转到andriod系统的过程中,因为没有太多的前人经验可以借鉴(因为是使用python环境,如果是C++和ndk+elipse,就可以参考网上教程了),所以遇到了许多的坑,经过断断续续的不懈努力(几度想放弃了),总算实现了基本功能,虽然Python+Tess-Two这个结合比较奇怪,但本着分享学习、共同进步的初衷,也将过程写下来给后面有需求的人一点提示,这就是写本篇文档的原因。

一、tess-two介绍

光学字符识别(OCR,Optical Character Recognition)是指对文本资料进行扫描,然后对图像文件进行分析处理,获取文字及版面信息的过程。Tesseract的OCR引擎最先由HP实验室于 1985年开始研发,至1995年时已经成为OCR业内最准确的三款识别引擎之一。然而,HP不久便决定放弃OCR业务,Tesseract也从此尘封。
数年以后,HP意识到,与其将Tesseract束之高阁,不如贡献给开源软件业,让其重焕新生--2005年,Tesseract由美国内华达州信息技术研究所获得,并求诸于Google对Tesseract进行改进、消除Bug、优化工作。
Tesseract目前已作为开源项目发布在Google Project,其项目主页在这里查看,其最新版本3.0已经支持中文OCR,并提供了一个命令行工具。
因为Tesseract使用C++实现的,在Android中不能直接使用,需要封装JavaAPI才能在Android平台中进行调用,这里我们直接使用TessTwo项目,tess-two是TesseraToolsForAndroid的一个git分支,使用简单,切集成了leptonica,在使用之前需要先从git上下载源码进行编译,不能简单使用别人编译好的.so,因为你要自己写调用接口方法。
Tess-two在git上地址为:https://github.com/rmtheis/tess-two
字库资源
英文字符,eng.traineddata https://github.com/tesseract-ocr/langdata
中文字符,chi_sim.traineddata http://download.csdn.net/download/fu_shuwu/10021639

二、运行环境准备

手机系统:小米miui(andriod7.0),qpython,python3.0
电脑系统:win10,cygwin,android-ndk-r16b
电脑因为是win10,编译环境需要下载cygwin软件,这个直接搜索下载就是,安装过程大体可参考这个文档:https://blog.csdn.net/chunleixiahe/article/details/55666792
建议不要下载整个devel,不知道是不是连接外网的原因,速率有时会卡,就在上面文档的基础上再上一个devel-make就差不多了,设置系统环境。
然后下载android-ndk-r16b解压,修改你的cygwin位置/home/你的用户名/.bash_profile,添加NDK=/cygdrive/e/pycode/android-ndk-r16b export NDK export PATH= N

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值