2.1.1 项目地址 Tess-two在git上地址为:https://github.com/rmtheis/tess-two 2.1.2 编译 我编译使用的环境: NDK R12 Cygwin NDK...环境的具体配置及Cygwin的安装方法可以参照这篇博客:Windows下NDK环境的具体配置及Cygwin的安装 配置好NDK环境后,将从git上下载的Tess-two进行解压,放置的路径是: C:\cygwin64...第二步:切换到tess-two目录下的jni目录(cd tess-two/jni)。...我编译的Tess-two要求,Android 2.3 或更高版本,v3.04 trained data file for a language....数据必须复制到安卓设备上子目录命名为tessdata. tess-two下载(Tesseract 3.05、Leptonica 1.74.1、libjpeg 9b、libpng 1.6.25)
GitHub:https://github.com/tesseract-ocr/tesseract 我们今天在Android上应用推荐的有个tess-two GitHub:https://github.com.../rmtheis/tess-two 还有一个字体识别库Tessdata(chi_sim.traineddata中文简体,chi_tra.traineddata中文繁体,eng.traineddata 英文库...代码实现 首先下载tess-two和字体库 ? ? 下载完成到我们的目录中 ? 新建一个TesserartDemo的项目,导入tess-two ?...建好项目后,我们通过Import Module导入tess-two,由于tess-two是个ndk的项目,所以我们必须要在SDK Tools里面加入CMake和NDK,如下图,具体NDK可以看看以前的文章..., 导入完tess-two后,我们进行编译,结果发现编译不过去,提示android-maven的错误。网上找了找资料,发现了解决办法。
tess-two是Tesseract在Android平台上的移植。...下载tess-two: compile 'com.rmtheis:tess-two:8.0.0' 然后将训练好的eng.traineddata放入android项目的assets文件夹中,就可以识别英文了...简单地识别英文 初始化tess-two,加载训练好的tessdata private void prepareTesseract() { try { prepareDirectory...} catch (Exception e) { Log.e(TAG, e.getMessage()); } } extractText()会调用tess-two...为了提高tess-two的识别率,可以自己训练数据集。
共三个项目,tess-two, tess-two-test 以及eyes-two。其中tess-two和eyes-two为android lib项目,供其它项目引用。...然后就可以开始对tess-two进行build: 用cmd到tess-two目录中执行ndk-build,这是因为已经把NDK路径添加到path路径中了,所以可以直接找到这个命令。这里需要两个小时。...这步的结果是在tess-two路径中添加了libs和obj目录,里面是.so、.o、.o.d文件。...这步的结果是在tess-two中添加了bin和gen目录,做的事情是将java文件编译打包了。 导入 将tess-two导入到eclipse。...这样tess-two工程才没有错误了。
不过不用担心,tess-two拯救了我们。 其次是扫一扫识别,那么很快联想到的就是常见的二维码扫描这类的项目。通过扫一扫实时拿到图像,来做识别。...2.实现细节 1.首先是tess-two的用法。 app下的build.gradle的配置如下 android { defaultConfig { .......ndk { abiFilters 'armeabi' //自行选择添加 } } } dependencies { compile 'com.rmtheis:tess-two:...2.从tess-two的用法可以知道,我们最终需要的是识别图片的Bitmap。
github.com/PaddlePaddle/PaddleOCR ---- 遇到一个需求,要用手机扫描纸质面单,获取面单上的手机号,最后决定用tesseract这个开源OCR库,移植到Android平台是tess-two...Android平台tess-two地址:https://github.com/tesseract-ocr 我把手机号扫描的算法封装了一下,Demo地址:http://blog.csdn.net/mr_sk...tess-two的识别算法当然是没办法处理了,那就得从其他方面去想办法 第一个:是在字库方面,官方的一个英文字库 30M,但是你面临的需求需要这么重量级的字库吗?...,这里由简入繁 集成很简单,build.gradle中加入: compile ‘com.rmtheis:tess-two:6.0.0’ //后面我已经换到8.0.0,上传的demo是在6.0.0下运行的...compile ‘com.rmtheis:tess-two:8.0.0’ 编译一下,框架的集成就ok了,不过tess-two的文字库是需要另外下载的,我们一般只需要中文和英文两种就可以了,特殊需求可以自己训练
基于opencv库和tess-two,Zxing在android平台上实现身份证号的识别! 实现原理分析 :通过zxing库捕捉相机获得图像,或者从相册里获取图片,再对图像进行处理....2. tesseract库的使用,本文章不对tesseract如何编译做详细介绍,可以使用tess-two,有编译好的,解压的后,把Jar文件添加到项目,把libs目录的文件复制到jniLibs目录下这样...tess-two就集成完了。
具体的库是tess-two,这是一个c++的库,需要开发者自己编译出so文件。然后调用java层的api,来实现ocr识别。 3.在运行在后台的情况下,对屏幕进行截图。...打算过一段时间之后再放出源码,所以这里就讲解一下,app整个运行流程.当然我放出的apk是debug版,大家如果会反编译的话,还是能看见源码的 首先是在MainActivity中初始化一些东西 初始化tess-two...前面我们都知道了怎么获取view的区域—————一个Rect,使用这个我们就可以将点击的按钮的区域变成一个bitmap 有了view区域的图片,就可以直接调用tess-two的java api来进行ocr
TesserartOCR配置 《Android使用Tesseract-ocr进行文字识别》中我们通过导入Tess-Two这个Module后进行处理的,但是这个每次重新编译都要十几分钟,原理上它还是用的NDK...方式,所以我们直接把Tess-Two编译好的so库用在这里,就不再引入这个Module了,用到的4个so库为 ?
import Module 导入(或者直将module直接粘贴到项目根目录下) 打开当前项目的 settings.gradle ,将新导入的module追加到末尾,比如: include':opencv',":tess-two
在dependencies中要加入api 'com.rmtheis:tess-two:8.0.0',这样我们才能使用OCR识别。 OCR相关的类 ?
领取专属 10元无门槛券
手把手带您无忧上云