Tesseract OCR集成Android Studio实现OCR识别

Tesseract OCR集成Android Studio实现OCR识别

介绍

Tesseract OCR谷歌开源的OCR识别引擎,支持多国文字包括中文简体与繁体。最新的版本是3.x。可以通过安装程序安装在机器上然后通过命令行运行该程序识别各种图片中的文字、同时还提供二次开发包,支持二次开发包括C、C++语言。也可以被移植到Android平台实现移动应用领域的OCR识别APP。

下载

在Android平台上使用Tesseract OCR首先要下载Tess2工程,它是专门针对Android平台编译出来的,下载地址如下 - https://github.com/rmtheis/tess-two 。下载解压缩之后你就会看到如下目录结构:
这里写图片描述
然后打开Android Studio新建一个项目应用,选择导入Module之后选择导入红色圆圈中的tess-two文件夹,导入之后你就会看到如下:
这里写图片描述
项目必须是支持NDK的,所以要在Project Structure中指明NDK的路径。原因是tess-two是个NDK项目,没有NDK支持无法完成编译。
这里写图片描述
此外你可能还会遇到没有android-maven的错误,把下面的脚本加到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’
}
}
如果一切顺利,你就会完成导入与编译,看到导入成功的目录结构,上图第二张所示。下面就是在你的Activity中添加初始化代码如下:
    private void initTessBaseData() { 
mTess = new TessBaseAPI();
String datapath = Environment.getExternalStorageDirectory() + “/tesseract/”;
// String language = “num”;
String language = “eng”;
File dir = new File(datapath + “tessdata/”);
if (!dir.exists())
dir.mkdirs();
mTess.init(datapath, language);
}
然后通过监听【识别】按钮的Click事件响应识别动作如下:
    public void onClick(View v) { 
Bitmap bitmap = BitmapFactory.decodeResource(this.getResources(), R.drawable.textimage);
mTess.setImage(bitmap);
String result = mTess.getUTF8Text();
TextView txtView = (TextView)this.findViewById(R.id.idCard_textView);
txtView.setText(“结果为:” + result);
ImageView imgView = (ImageView)this.findViewById(R.id.imageView);
imgView.setImageBitmap(bitmap);
}
显示结果如下:
这里写图片描述
其中上部分为识别到文字显示,下面是对应加载的文字图片。
这里特别要注意的是必须在你对应目录有相关tessdata文件才可以,关于tessdata可以到如下地址下载:
https://github.com/tesseract-ocr/tessdata
手动或者通过程序Copy到你在初始化时候生成的目录下面即可。
此外,还不要忘记把tess-two作为依赖添加到app中去。

  • 5
    点赞
  • 48
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 12
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

gloomyfish

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值