当前位置: 首页 > 工具软件 > android-ocr > 使用案例 >

ocr技术android开源,OCR识别的Android端实现

陶原
2023-12-01

importandroid.graphics.Bitmap;importandroid.graphics.BitmapFactory;importandroid.os.Environment;importandroid.os.SystemClock;importandroid.util.Log;importcom.googlecode.tesseract.android.TessBaseAPI;importjava.io.File;importjava.io.FileNotFoundException;importjava.io.IOException;/*** ocr 识别截图文本

**/

public classImagett {private static String TAG = "IMAGETT";private static final String DEFAULT_LANGUAGE = "chi_sim";private staticString text;/***

*@paramimageFile 识别的图片文件

*@paramlanguage 识别的语言 chi_sim : 中文, eng:英文

*@paramrefresh 是否重新获取图片

*@return

*/

public static String imageToText(final String imageFile, final String language, boolean refresh){ //language :简体中文 chi_sim, 英文 eng

if (!refresh){try{return MyFile.readFile(CONST.TESSDATA + File.separator + "text.txt"); //文件读取操作

}catch(IOException e) {

e.printStackTrace();

}

}

Thread t= new Thread(newRunnable() {

@Overridepublic voidrun() {

Bitmap bitmap=BitmapFactory.decodeFile(imageFile);

TessBaseAPI tessBaseAPI= newTessBaseAPI();

tessBaseAPI.init(CONST.LOGPATH, language);

tessBaseAPI.setImage(bitmap);

text=tessBaseAPI.getUTF8Text();//logUtil.i(TAG, "run: text " + System.currentTimeMillis() + text);//识别的文本内容写入的文件中

try{

MyFile.writeFile(CONST.TESSDATA+ File.separator + "text.txt", text, false); //文件写操作

}catch(FileNotFoundException e) {

e.printStackTrace();

}

tessBaseAPI.end();

}

});

t.start();//等待识别完成

while(t.isAlive()){

SystemClock.sleep(100);

}returntext;

}

}

 类似资料: