前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Android平台OCR工具之Tess-two的编译

Android平台OCR工具之Tess-two的编译

原创
作者头像
Python进阶者
修改2021-08-27 18:07:17
1K0
修改2021-08-27 18:07:17
举报

1.Tesseract简介

Tesseract是Ray Smith于1985到1995年间在惠普布里斯托实验室开发的一个OCR引擎,曾经在1995 UNLV精确度测试中名列前茅。但1996年后基本停止了开发。2006年,Google邀请Smith加盟,重启该项目。目前项目的许可证是Apache 2.0。该项目目前支持Windows、Linux和Mac OS等主流平台。但作为一个引擎,它只提供命令行工具。 现阶段的Tesseract由Google负责维护,是最好的开源OCR Engine之一,并且支持中文。

主页地址:https://github.com/tesseract-ocr

在Tesseract的主页中,我们可以下载到Tesseract的源码及语言包,常用的语言包为

中文:chi-sim.traineddata

英文:eng.traineddata

2.Tess-two

因为Tesseract使用C++实现的,在Android中不能直接使用,需要封装JavaAPI才能在Android平台中进行调用,这里我们直接使用TessTwo项目,tess-two是TesseraToolsForAndroid的一个Git分支,使用简单,切集成了leptonica,在使用之前需要先从git上下载源码进行编译。

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-master,下边开始进行编译:

  • 第一步:在Cygwin软件中使用cd命令打开Tesstwo的根目录(cd /cygdrive/c/cygwin64/tess-two-master/)。
  • 第二步:切换到tess-two目录下的jni目录(cd tess-two/jni)。
  • 第三步:输入命令进行编译($NDK/ndk-build.cmd)

编译之前可以用记事本打开jni目录下的文件Application.mk修改这里可以修改要编译的平台,以减少不必要的编译来节约时间。这个文件用来配置编译平台相关内容,我们最常用的估计只是APP_ABI字段,它用来指定我们需要基于哪些CPU架构的.so文件,当然你可以配置多个平台:

代码语言:javascript
复制
APP_STL := gnustl_static
APP_ABI := armeabi armeabi-v7a x86 mips arm64-v8a x86_64 mips64
APP_OPTIM := release
APP_PLATFORM := android-9
APP_CPPFLAGS += -fexceptions -frtti
NDK_TOOLCHAIN_VERSION := clang

我在安卓开发过程中APP_ABI := 后面只保留了 armeabi armeabi-v7a 编译需要耗费挺长时间,编译完成后,会在tess-two目录下生成libs文件夹,其中包含了编译生成的.so文件,可以进行使用。 也可以直接下载我编译好的包,这里给出下载地址,我测试了一下,是没有问题的。 我编译的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)

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1.Tesseract简介
  • 2.Tess-two
    • 2.1.1 项目地址
      • 2.1.2 编译
      相关产品与服务
      命令行工具
      腾讯云命令行工具 TCCLI 是管理腾讯云资源的统一工具。使用腾讯云命令行工具,您可以快速调用腾讯云 API 来管理您的腾讯云资源。此外,您还可以基于腾讯云的命令行工具来做自动化和脚本处理,以更多样的方式进行组合和重用。
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档