ocr之多字庫聯合使用
來源:程序員人生 發布時間:2015-05-26 08:26:46 閱讀次數:4605次
之前在網上看到有很多OCR的相干資料,自己訓練字庫的資料也很多,但是關于訓練字庫后的多自字庫聯合使用資料則少之又少,其實在OCR3.02出來以后就已支持多字庫聯合使用了,故記錄下來,希望能對大家有所幫助!
1.首先在github上下載最新的項tess-two.,地址為:https://github.com/rmtheis/tess-two;
2.如果電腦沒安裝NDK的還需要下載ndk,由于tess-two是靠ndk編譯的地址:https://dl.google.com/android/ndk/android-ndk-r8e-windows-x86.zip
安裝ndk后履行1下命令:
-
cd tess-two
-
ndk-build
-
android update project -t 1 --path .
-
ant release
-
-
-
cd ..
-
cd eyes-two
-
ndk-build
-
android update project -t 1 --path .
-
ant release
3. 調用tesseract辨認圖片
eclipse里面導入編譯好的android project,共3個項目,tess-two,
tess-two-test 和eyes-two。其中tess-two和eyes-two為android lib項目,供其它項目援用。tess-two封裝Tesseract的Android API,eyes-two封裝leptonica的Android API。tess-two-test為OCR的測試,先讀1下TessBaseAPITest.java的代碼,了解API的使用方法。
-
private static final String TESSBASE_PATH = "/mnt/sdcard/tesseract/";
-
private static final String DEFAULT_LANGUAGE = "eng";
-
private static final String CHINESE_LANGUAGE = "chi_sim";
-
private static final String CHINESE_CUSTOM
= "custom";//自定義字庫
-
-
TessBaseAPI baseApi = new TessBaseAPI();
-
baseApi.init(TESSBASE_PATH, CHINESE_LANGUAGE); //單字庫使用
-
baseApi.init(TESSBASE_PATH, CHINESE_LANGUAGE+CHINESE_LANGUAGE);
//多字庫使用
-
baseApi.setPageSegMode(TessBaseAPI.PageSegMode.PSM_AUTO);
-
baseApi.setImage(params[0]);
-
-
-
final String outputText = baseApi.getUTF8Text();
-
baseApi.end();
最后自己在tess-two-test項目里加個Activity測試下就好了。
注:1.多字庫的聯合使用必須在ocr3.02版本以上才能實現,3.01是支持的,其次測試的時候數據放在手機的根目錄的tessdata下。
2.代碼:http://download.csdn.net/detail/u010897392/8649197;
3.自定義字庫請看另外一篇文章:http://blog.csdn.net/u010897392/article/details/45339301
4.如有問題,可留言討論,大家共同進步!
生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈