壹、下載&編譯tesseract
1、首先下載tess-two。
2、進入 tess目錄,裏面有三個項目,我們只需要進入tess-two就可以直接編譯了。
3、編譯好後,將src下的兩個包以及libs導入到自己的項目就可以用。
二、使用
1、使用時,首先創建TessBaseAPI對象。
TessBaseAPI baseApi=new TessBaseAPI();
//初始化tess
//android下面,tessdata肯定得放到sd卡裏了
//如果tessdata這個目錄放在sd卡的根目錄
//那麽path直接傳入sd卡的目錄
//eng就是英文,關於語言,按ISO 639-3標準的代碼就行,具體請移步wiki
baseApi.init("tessdata文件夾的父級目錄", "eng");
//options是為了縮放圖片,這個酌情縮放,圖片小的話可以不縮放
BitmapFactory.Options options=new BitmapFactory.Options();
//縮小為原來的1/2
options.inSampleSize=2;
//bitmap,我這裏是以流的形式,只要能形成Bitmap就行
Bitmap bitmap = BitmapFactory.decodeStream(instream,null,options);
instream.close();
//如果圖片有Alpha值,那麽最好設置壹下
//設置要ocr的圖片bitmap
baseApi.setImage(bitmap);
//根據Init的語言,獲得ocr後的字符串
String text= baseApi.getUTF8Text();
//釋放bitmap
baseApi.clear();
//如果連續ocr多張圖片,這個end可以不調用,但每次ocr之後,必須調用clear來對bitmap進行釋放
//釋放native內存
baseApi.end();
///////////////////////////其它方法//////////////////////////////////
//獲取字符邊框
Pixa pixa= baseApi.getCharacters()
//同上,這個是整段文字的邊框
baseApi.getRegions();
//同上,只不過這裏是條線
baseApi.getTextlines();
//剩下的自己測試吧。
//轉為rect數組 ,之後,可以很方便的在圖片上框出方框
//
ArrayList rects=pixa.getBoxRects();
2、開始識別。