标签:
(转载注明出处:http://blog.csdn.net/buptgshengod)
快过年了,博主的新应用-屏幕取词之了老花镜的编码工作也在紧锣密鼓的进行中。下面分享一下这个应用中的核心功能ocr,也就是图片识词功能。先来看下我的实现效果。上图是在网上随便截下来的一个带有英文的页面,下图是我的应用的实现效果。
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; } }
android tesseract-ocr实例教程(包含中文识别)(附源码)--转载
标签:
原文地址:http://www.cnblogs.com/JohnGene-Blog/p/5085412.html