一般来说,我对 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);
也有人知道如何通过行或单词来重申结果吗?