android tesseract-ocr实例教程(包含中文识别)(附源码)
来源:互联网 发布:全球最贵的域名 编辑:程序博客网 时间:2024/06/11 19:38
(转载请注明出处: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() { @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.源码及相关文件下载地址
好吧,好多人说代码下载不了或者说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=
可到以下地址下载,将其解压放到/tesseract/tessdata下面,然后将eng改为chi_sim
http://code.google.com/p/tesseract-ocr/downloads/detail?name=chi_sim.traineddata.gz&can=2&q=
8 0
- android tesseract-ocr实例教程(包含中文识别)(附源码)
- 【Tesseract-OCR】玩转OCR中文识别
- 光学识别(OCR)之 Tesseract
- Tesseract OCR(光学字符识别)教程
- Tesseract OCR(光学字符识别)教程
- Tesseract OCR(光学字符识别)教程
- Tesseract OCR(光学字符识别)教程
- Tesseract OCR(光学字符识别)教程
- Tesseract OCR(光学字符识别)教程
- 关于Tesseract OCR 中文训练识别小试(java调用Tess4j)
- tesseract-ocr 识别中文扫描图片
- Java中文图像识别tesseract-ocr || tif
- OCR tesseract中文无法识别问题
- tesseract-ocr识别中文与字库训练
- android中ocr解决方案(tesseract)
- Android图像识别之tesseract-ocr
- Java OCR tesseract 图像智能字符识别技术(一)
- OpenCV+Tesseract进行OCR学习(二)文字识别
- 项目管理-维护
- Fast Easy Blogging
- 新的一年
- 北京摇号日志第二章
- IEEE tran bib参考文献的问题
- android tesseract-ocr实例教程(包含中文识别)(附源码)
- nginx - 性能优化,突破十万并发
- 趣图展现程序员职业生涯的11个阶段
- fatal: branch 'master' has not been signed
- 想不到的2013
- 人间无敌的电脑跳棋程序
- 当通过svn检出的项目 有俩个红点的时候
- 导入数据库表
- OpenWrt目录的编译