DBMNG数据库管理与应用

书籍是全世界的营养品。生活里没有书籍,就好像没有阳光;智慧里没有书籍,就好像鸟儿没有翅膀。
当前位置:首页 > 移动应用 > Android

在android使用tesseract识别文字OCR

Tesseract是一个HP和google先后维护的开源OCR(ocr,optical character Recognition)引擎,3.0以后已经支持中文识别.如何在android上使用它呢,那就不得不提另一个开源项目tess-two,tess-two是一个在android上使用tesseract的实例,tess-two中有三个主要目录:

  • eyes-two对leptonica的封装
  • tess-two-test ocr的测试代码
  • tess-two对Tesseract的封装
下载tess-two源码

首先,将tess-two代码从github上clone下来:(也可知直接从这个地址下载)

git@github.com:rmtheis/tess-two.git

克隆下来后,还需要ndk编译,建议linux下编译,只需要下载ndk就行了,windows下还要下载安装sygwin

使用ndk编译tess-two

分别cd进tess-two和eyes-two去编译项目

cd tess-two
ndk-build
cd eyes-two
ndk-build
简单的调用示例

简单的调用识别,只需要使用eclipse导入tess-two中的tess-two就行了,然后新建工程,引用这个library.

//sd卡路径 private static final String SD_PATH=Environment.getExternalStorageDirectory(); //字典名 private static final String DICTIONARY="/custom"; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main);
    TessBaseAPI baseApi = new TessBaseAPI(); //记得要在你的sd卡的tessdata文件夹下放对应的字典文件,例如我这里就放的是custom.traineddata baseApi.init(SD_PATH, DICTIONARY);
    baseApi.setPageSegMode(TessBaseAPI.PageSegMode.PSM_AUTO); //记得要在对应的文件夹里放上要识别的图片文件,比如我这里就在sd卡根目录放了img.png baseApi.setImage(new File(SD_PATH+"/img.png")); final String result= baseApi.getUTF8Text(); //这里,你可以把result的值赋值给你的TextView baseApi.end();  
}

如上,一个简单的android ocr程序就完成了


from:http://www.jianshu.com/p/2c0cc12cfcf8

本站文章内容,部分来自于互联网,若侵犯了您的权益,请致邮件chuanghui423#sohu.com(请将#换为@)联系,我们会尽快核实后删除。
Copyright © 2006-2023 DBMNG.COM All Rights Reserved. Powered by DEVSOARTECH            豫ICP备11002312号-2

豫公网安备 41010502002439号