Android文字识别tess-two OCR

本文介绍了在Android Studio中使用tess-two库集成Tesseract OCR引擎进行文字识别的方法,包括下载tess-two模块,配置NDK,处理编译问题,设置语言包,添加读写权限,以及展示简单的代码实现。
摘要由CSDN通过智能技术生成

OCR Tesseract tess-two文字识别Android Studio实现

1、简介

OCR (Optical Character Recognition,光学字符识别)是指电子设备(例如扫描仪或数码相机)检查纸上打印的字符,通过检测暗、亮的模式确定其形状,然后用字符识别方法将形状翻译成计算机文字的过程
Tesseract是Ray Smith于1985到1995年间在惠普布里斯托实验室开发的一个OCR引擎,曾经在1995 UNLV精确度测试中名列前茅。但1996年后基本停止了开发。2006年,Google邀请Smith加盟,重启该项目。目前项目的许可证是Apache 2.0。该项目目前支持Windows、Linux和Mac OS等主流平台。但作为一个引擎,它只提供命令行工具。
因为Tesseract使用C++实现的,在Android中不能直接使用,需要封装JavaAPI才能在Android平台中进行调用,这里我们直接使用TessTwo项目,tess-two是TesseraToolsForAndroid的一个git分支,使用简单,切集成了leptonica,在使用之前需要先从git上下载源码进行编译。

2、下载

在Android平台上使用Tesseract OCR首先要下载Tess-two工程,它是专门针对Android平台编译出来的,下载地址如下:https://github.com/rmtheis/tess-two
文字识别还需要下载相应到tessdata语言包,本项目以英文包为例,下载地址如下:
https://github.com/tesseract-ocr/tessdata
选中需要用到到语言包,英文包为eng.traineddata,简体中文包为chi_sim.traineddata。

3、导入配置

1、解压下载下来的tess-two-master文件,解压后目录如下图所示:
图1
2、在android studio新建一个空项目,将上图中的tess-two(第三个)文件夹作为module导入到项目中(File->New->Import Module)。
3、项目必须是支持NDK的,所以要在Project Structure中指明NDK的路径。如果没NDK就需要先下载,一般在android studio下载都自动帮你配好。原因是tess-two是个NDK项目,没有NDK支持无法完成编译
图2
4、你还需要安装两个工具,CMake和LLDB。
图3
5、你可能还会遇到没有android-maven的错误,在tess-two的build.gradle文件到最前面添加以下脚本:

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:2.1.2'
        classpath 'org.codehaus.groovy:groovy-backports-compat23:2.3.5'
        classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.0'
        classpath 'com.github.dcendents:android-maven-gradle-plugin:1.5'
    }
}

图4


6、在tess-two的build.gradle文件里还有3处需要修改,如下图,修改为自己到版本号即可:
图5
如我的修改后为:

评论 16
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值