Wednesday, March 18, 2020

Monday, March 2, 2020

[Android] OCR - 使用 Tesseract


[參考資料]





[需要權限]

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

[Gradle]
build.gradle (Module:app)
implementation 'com.rmtheis:tess-two:9.0.0'
[使用方式]

public String runOcr( Bitmap bmp){

    final TessBaseAPI ocrApi = new TessBaseAPI();
    ocrApi.init( pathTessBase, "chi_tra");
    ocrApi.setPageSegMode(TessBaseAPI.PageSegMode.PSM_AUTO);
    ocrApi.setImage(bmp);
    String resString = ocrApi.getUTF8Text();

    ocrApi.clear();
    ocrApi.end();
    return  resString;
}



[註]
1. 訓練資料檔 chi_tra.traineddata 必須放在 pathThessBase/tessdata 資料夾下.

2. PageSegmentationMode = TessBaseAPI.PageSegMode.PSM_SINGLE_LINE 只可辨識單行文字

    PageSegmentationMode = TessBaseAPI.PageSegMode.PSM_AUTO 可辨識多行文字

[Qt] 執行檔需要哪些 Dll?

 1. 使用 Qt  的 windeployqt.exe 工具 (在 C:\Qt\Qt5.14.1\5.14.1\msvc2017\bin\)。   a. 把執行檔 myProgram.exe 放在某個資料夾。   b. 在檔案總管這個資料夾按 Shift 和滑鼠右鍵,開啟 Po...