(转载请注明出处:http://blog.csdn.net/buptgshengod


ps:鉴于大家对这个项目这么感兴趣,问题也比较多,我简单的再说几点。

1.我只是使用了这个ocr引擎,算法什么的我真的不清楚,这个引擎是比较老的,虽然是google旗下的,但是准确率并不算突出,算法是90年代的。

2.很多人问路径是否可以更改,就是语言包tess的路径。这个当然可以改,我写成这样是针对一些基础不好的童鞋。

3.很多人不会翻墙下载中文语言包,我在github里面加入了中文语言包,大家有兴趣的去下载吧。

4.有什么不会的,我建议大家仔细看下博文和评论,如果还不明白,可以给我发邮件。


1.介绍    

    快过年了,博主的新应用-屏幕取词之了老花镜的编码工作也在紧锣密鼓的进行中。下面分享一下这个应用中的核心功能ocr,也就是图片识词功能。先来看下我的实现效果。上图是在网上随便截下来的一个带有英文的页面,下图是我的应用的实现效果。



2.实现

   (1)首先要下载我的源码和语言包,博客下方会给出地址。
    (2)把代码中的lib中的两个文件夹和jar文件导入。
    (3)需要注意的有两点请认真看下面贴出的代码的注释
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;@Overrideprotected 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() {@Overridepublic 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);//释放bitmapbaseApi.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.源码及相关文件下载地址


好吧,好多人说代码下载不了或者说10分太贵了,这里提供一下免费下载地址。
其中tess文件夹是android程序
tessdata是语言包
4.中文识别
 
 可到以下地址下载,将其解压放到/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实例教程(包含中文识别)(附源码)相关推荐

  1. Adroid游戏开发实例讲解(三)-小蝌蚪找妈妈附源码

    Adroid游戏开发实例讲解(三)-小蝌蚪找妈妈附源码 程序之美 从小就听着小蝌蚪找妈妈的故事长大,我相信小伙伴们一定都不陌生,因为小学课本中,我们早早的就学过了小蝌蚪找妈妈这篇文章,它既是一篇文章, ...

  2. Android悬浮窗开启 适配所有机型(附源码)

    Android悬浮窗开启 适配所有机型(附源码) 1.开启悬浮窗权限 清单文件中添加: <uses-permission android:name="android.permissio ...

  3. 简单实现 Android M 指纹识别(附源码)

    众所周知, Android阵营里的指纹兼容真可谓是一团糟, 每个厂家几乎都有一套自己的API, 直到Android M的出现, 才慢慢地走上正途. 那么今天我们就一起来探讨一下, Android M里 ...

  4. Qt Quick 图像处理实例之美图秀秀 附源码下载

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 在< ...

  5. android SQLite数据库用法图文详解(附源码)

    (转载请注明出处:http://blog.csdn.net/buptgshengod) 1.背景 SQLite是嵌入式设备使用的一种轻量型数据库.可以通过执行sql语句对数据库进行操作,android ...

  6. Android 高级编程【6个实战案例(附源码):刮刮卡、补间动画、逐帧动画、Fragment、RecyclerView、下拉刷新】

    目   录 刮刮卡案例[ScratchCard] 结构图 activity_main.xml MainActivity.java 运行效果图 补间动画(Tween Animation) 逐帧动画(Fr ...

  7. Android仿微信底部菜单栏+顶部菜单栏(附源码)

    林炳文Evankaka原创作品.转载请注明出处http://blog.csdn.net/evankaka 本文要实现仿微信微信底部菜单栏+顶部菜单栏,采用ViewPage来做,每一个page对应一个X ...

  8. 集成Android 科大讯飞免费在线语音合成播报功能(附源码)

    概述 开篇先介绍一下'科大讯飞',毕竟是我家乡合肥的科技公司,我感到骄傲,更重要的是它在语音识别行业也是佼佼者,在如今人工智能横飞的时代,依然能够保持着较高水准的技术优势.在此,希望科大在AI之战中能 ...

  9. Android开发之自定义控件的基本介绍(附源码)

    老套路先看效果图: 一个特别简单的字母排序列表如上图: 先看下有哪些属性: <com.xiayiye.honorfirst.custom.CustomNumViewandroid:id=&quo ...

  10. [转]通过创建一个位图的XY Chart来学习Android绘图类Rect,Paint,Bitmap,Canvas(附源码)...

    本文转自:http://www.cnblogs.com/salam/archive/2010/11/10/1873437.html 绘制一个XY集是一种很常见的任务,基于Android平台的绘制很简单 ...

最新文章

  1. Docker建网站 4条命令搞定
  2. MySQL中的重做日志(redo log),回滚日志(undo log),以及二进制日志(binlog)的简单总结
  3. apache+mod_wsgi+django的环境配置
  4. 仅需1秒!搞定100万行数据:超强Python数据分析利器
  5. [容易]在二叉查找树中插入节点
  6. 国际版抖音TikTok平台怎么样?
  7. TensorFlow by Google过拟合优化 Machine Learning Foundations: Ep #7 - Image augmentation and overfitting
  8. 贝塔智能挪车V2.3.4汽车微信小程序 多开版源码
  9. 3. Spring Boot 从零开始学习
  10. Lecture 2 Asymptotic Notation
  11. linux mono 安装步骤,如何在Ubuntu 18.04上安装Mono
  12. 关于win10开始菜单点击无反应解决方案
  13. 2017校园招聘 携程编程题
  14. 硬盘数据恢复的原理是什么?清空、格式化数据真的就没有了吗?
  15. VS2010 MSDN安装
  16. 22东南网安专硕上岸经验贴
  17. Zcash 对以太坊来说意味着什么?
  18. 【蓝桥杯真题】2021年蓝桥杯省赛A组题目解析+代码(python组)
  19. 将波函数由坐标空间变换为动量空间
  20. SQL Server 2008 R2 升级到 Service Pack 3后Report Builder启动不了

热门文章

  1. PAT甲级1097 Deduplication on a Linked List:[C++题解]遍历链表、两个vector
  2. 要你命3000List31
  3. 编译问题一 undefined reference to `EVP_sha1' ‘RAND_byte’ ‘DES_key_sched’ 问题解决
  4. Spring第三讲:利用注解配置类取代Spring的配置文件
  5. php cgi漏洞,CGI漏洞攻击合集上
  6. 大学计算机组装与维修考试题,【校选修】计算机组装与维修 考试题
  7. 可编程led灯带原理_88张图搞定层板灯带的设计、安装、收口及检修!
  8. SQLServer中的数据类型
  9. 计算机常用图像文件格式,常用的图像文件格式
  10. 燃烧温度计算程序_【知识库】燃气燃烧器如何安全操作?