android tesseract-ocr实例教程(包含中文识别)(附源码)
(转载请注明出处:http://blog.csdn.net/buptgshengod)
1.介绍
快过年了,博主的新应用-屏幕取词之了老花镜的编码工作也在紧锣密鼓的进行中。下面分享一下这个应用中的核心功能ocr,也就是图片识词功能。先来看下我的实现效果。上图是在网上随便截下来的一个带有英文的页面,下图是我的应用的实现效果。
2.实现
- package com.example.tess;
- import java.io.File;
- import com.googlecode.tesseract.android.TessBaseAPI;
- import android.os.Bundle;
- import android.app.Activity;
- import android.content.Intent;
- import android.graphics.Bitmap;
- import android.graphics.BitmapFactory;
- import android.view.Menu;
- import android.view.View;
- import android.view.View.OnClickListener;
- import android.widget.Button;
- import android.widget.TextView;
- public class MainActivity extends Activity {
- private TextView text;
- TessBaseAPI baseApi;
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_main);
- Button bt=new Button(getBaseContext());
- bt=(Button)findViewById(R.id.button1);
- text=new TextView(getBaseContext());
- text=(TextView)findViewById(R.id.textView1);
- baseApi=new TessBaseAPI();
- //(注意)前面的地址是语言包的父级。eng表示解析的是英文
- baseApi.init("/mnt/sdcard/tesseract/", "eng");
- bt.setOnClickListener(new OnClickListener() {
- @Override
- public void onClick(View sourse) {
- // text.setText("sb");
- //设置要ocr的图片bitmap,要解析的图片地址(注意)
- baseApi.setImage(getDiskBitmap("/mnt/sdcard/mypic.bmp"));
- //根据Init的语言,获得ocr后的字符串
- String text1= baseApi.getUTF8Text();
- text.setText(text1);
- //释放bitmap
- baseApi.clear();
- }
- }
- );
- }
- /*
- * 将本地图片转换为bitmap
- */
- private Bitmap getDiskBitmap(String pathString)
- {
- Bitmap bitmap = null;
- try
- {
- File file = new File(pathString);
- if(file.exists())
- {
- bitmap = BitmapFactory.decodeFile(pathString);
- }
- } catch (Exception e)
- {
- // TODO: handle exception
- }
- return bitmap;
- }
- }
(4)图片越大耗时越长,本例耗时差不多半分钟
3.源码及相关文件下载地址
可到以下地址下载,将其解压放到/tesseract/tessdata下面,然后将eng改为chi_sim
http://code.google.com/p/tesseract-ocr/downloads/detail?name=chi_sim.traineddata.gz&can=2&q=
android tesseract-ocr实例教程(包含中文识别)(附源码)的更多相关文章
- HTML5与CSS3实例教程(第2版) 附源码 中文pdf扫描版
HTML5和CSS3技术是目前整个网页的基础.<HTML5与CSS3实例教程(第2版)>共分3部分,集中讨论了HTML5和CSS3规范及其技术的使用方法.这一版全面讲解了最新的HTML5和 ...
- Android中Canvas绘图基础详解(附源码下载) (转)
Android中Canvas绘图基础详解(附源码下载) 原文链接 http://blog.csdn.net/iispring/article/details/49770651 AndroidCa ...
- Android 音视频深入 二十 FFmpeg视频压缩(附源码下载)
项目源码https://github.com/979451341/FFmpegCompress 这个视频压缩是通过类似在mac终端上输入FFmpeg命令来完成,意思是我们需要在Android上达到能够 ...
- OpenCV+TensorFlow图片手写数字识别(附源码)
初次接触TensorFlow,而手写数字训练识别是其最基本的入门教程,网上关于训练的教程很多,但是模型的测试大多都是官方提供的一些素材,能不能自己随便写一串数字让机器识别出来呢?纸上得来终觉浅,带着这 ...
- Android Paint的使用以及方法介绍(附源码下载)
要绘图,首先得调整画笔,待画笔调整好之后,再将图像绘制到画布上,这样才可以显示在手机屏幕上.Android 中的画笔是 Paint类,Paint 中包含了很多方法对其属性进行设置,主要方法如下: se ...
- (转)干货|这篇TensorFlow实例教程文章告诉你GANs为何引爆机器学习?(附源码)
干货|这篇TensorFlow实例教程文章告诉你GANs为何引爆机器学习?(附源码) 该博客来源自:https://mp.weixin.qq.com/s?__biz=MzA4NzE1NzYyMw==& ...
- PHP简单的长文章分页教程 附源码
PHP简单的长文章分页教程 附源码.本文将content.txt里的内容分割成3页,这样浏览起来用户体验很好. 根据分页参数ipage,获取对应文章内容 include('page.class.php ...
- 超详细的php用户注册页面填写信息完整实例(附源码)
这篇文章主要介绍了一个超详细的php用户注册页面填写信息完整实例,内容包括邮箱自动匹配.密码强度验证以及防止表单重复等,小编特别喜欢这篇文章,推荐给大家. 注册页面是大多数网站必备的页面,所以很有必要 ...
- Python的开源人脸识别库:离线识别率高达99.38%(附源码)
Python的开源人脸识别库:离线识别率高达99.38%(附源码) 转https://cloud.tencent.com/developer/article/1359073 11.11 智慧上云 ...
- C#共享内存实例 附源码
原文 C#共享内存实例 附源码 网上有C#共享内存类,不过功能太简单了,并且写内存每次都从开头写.故对此进行了改进,并做了个小例子,供需要的人参考. 主要改进点: 通过利用共享内存的一部分空间(以下称 ...
随机推荐
- CSUST 1506 ZZ的计算器 模拟题
题目描述:实现一个计算器,可以进行任意步的整数以内的加减乘除运算,运算符号只有+.-.*./,求出结果. 解题报告:一个可以说麻烦的模拟题,我们可以这样,输入以字符串的形式输入,然后将输入先做一遍预处 ...
- blockchain 名词解释
1.UTXO UTXO是比特币交易的基本单位UTXO(Unspent Transaction Outputs)是未花费的交易输出,它是比特币交易生成及验证的一个核心概念.交易构成了一组链式结构,所有合 ...
- u_boot移植之内存基础知识DDR【转】
转自:http://blog.chinaunix.net/uid-25909619-id-4938411.html
- 008_MAC 终端使用技巧
一.常用终端命令. <1>reset 的作用很简单——将目前「终端」屏幕上的内容清空,就好像刚刚打开终端一样. <2>如果你在一条终端命令中发现有输入错误的话,那么用 cont ...
- Linux删除以减号开头的文件
2014年5月5日 10:33:47 原因:文件乱码了,乱码后以减号开头,删不掉 摘抄: 文件系统出现一个文件 -C.html 如何删除/新建?rm -- "-C.html" to ...
- Nginx安装方式探究
Ubuntu 16.04(阿里云ECS),Nginx 1.10.3 (Ubuntu) 本文探究两种安装方式: 1.源码安装(手动) 2.APT安装(自动) 源码安装(手动) 步骤简介: 下载.解压.. ...
- About Saliency Object Detection
显著性对象检测综述 详见:http://mmcheng.net/zh/paperreading/ 一. 程明明等人的论文:Salient Object Detection: A Survey(简 ...
- Java编程的逻辑 (15) - 初识继承和多态
本系列文章经补充和完善,已修订整理成书<Java编程的逻辑>,由机械工业出版社华章分社出版,于2018年1月上市热销,读者好评如潮!各大网店和书店有售,欢迎购买,京东自营链接:http:/ ...
- .NetCore下使用Prometheus实现系统监控和警报 (二)Linux安装
Prometheus对Windows有相关的支持 下载地址:https://prometheus.io/download/ wget https://github.com/prometheus/pr ...
- .NetCore利用Swagger生成 XML文档需要注意生成路径的地址
发布的时候如果用 release dotnet publish --configuration release dotnet publish 默认都是debug 会出现 XML丢失问题,其实可以看下工 ...