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;
}
}