私はtesseractとOCR全般にまったく新しいです。少し実験するためだけにAndroidアプリに取り組んでいます。
エンジンモードを設定することで精度を向上させることができると読んでいました:
/** Run Tesseract only - fastest */
public static final int OEM_TESSERACT_ONLY = 0;
/** Run Cube only - better accuracy, but slower */
public static final int OEM_CUBE_ONLY = 1;
/** Run both and combine results - best accuracy */
public static final int OEM_TESSERACT_CUBE_COMBINED = 2;
/** Default OCR engine mode. */
public static final int OEM_DEFAULT = 3;
私のコードでは、次のように開始しました:
TessBaseAPI baseApi = new TessBaseAPI();
baseApi.setDebug(true);
baseApi.init(DATA_PATH, lang, enginMode);
Log.v("NUMBER LINES","*************************************************** "+baseApi.getWords());
baseApi.setImage(bitmap);
// baseApi.setPageSegMode(baseApi.OEM_TESSERACT_CUBE_COMBINED);
String recognizedText = baseApi.getUTF8Text();
baseApi.end();
しかし、アプリがクラッシュして次のエラーが発生engineMode
する以外の何かに設定すると:OEM_TESSERACT_ONLY
Fatal signal 11 (SIGSEGV) at 0x00000000 (code=1);
また、行または単語ごとに結果を繰り返す方法を知っている人はいますか?