古詩詞大全網 - 古詩大全 - android手機怎麽調用OCR識別像中的文字

android手機怎麽調用OCR識別像中的文字

android手機調用OCR識別圖像中的文字的方法為:

壹、下載&編譯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、開始識別。