みんな。Android プロジェクトに tess-two OCR ライブラリを含めようとしていますが、いくつかの問題が発生しました。
【やろうとしていること】
Android Studioで tess-two ( tess-two github リンク) で OCR を実行します。
(OCRアプリを開発したい)
【困ったところ】
Android Studio から実行するとアプリが強制終了される
[私がしたこと]
- tess-twoをダウンロードしました
- 建てた
ndk-build android update project --path C:\...\tess-two ant release
- Android Studio (API 16、Blank Activity) で新規プロジェクト「test」を作成
- classes.jar を test\app\libs に置きます
- アプリにライブラリとして classes.jar を追加
- .so ファイル (armeabi-v7a、mips、x86) を含むディレクトリを test\app\src\main\jniLibs に配置します。
- 次のコードを MainActivity.java に入れます
import com.googlecode.tesseract.android.TessBaseAPI; public void testOCR(){ String storagePath = Environment.getExternalStorageDirectory().getPath(); Bitmap bitmap = null; ImageView img = (ImageView) findViewById(R.id.imageView); // Read an image File file = new File("storage/sdcard1/tess-two/ocr_sample.jpg"); if (file.exists()) { bitmap = BitmapFactory.decodeFile(file.getPath()); bitmap = bitmap.copy(Bitmap.Config.ARGB_8888, true); img.setImageBitmap(bitmap); }else{ Log.d("tess-two","File not found."); return; } // Init modules TessBaseAPI tessOCRAPI = new TessBaseAPI(); tessOCRAPI.init(storagePath+"/tess-two/", "eng"); // Set Image tessOCRAPI.setImage(bitmap); String recognizedText = tessOCRAPI.getUTF8Text(); Log.d("tess-two",recognizedText); // Close OCR API tessOCRAPI.end(); }
- スマートフォンでアプリを実行しました。
その後、アプリが停止しました。デバッグしたところ、プログラムは で停止したようTessBaseAPI tessOCRAPI = new TessBaseAPI();
です。デバッグ中、以下の文がデバッグ ウィンドウに表示されました。
com.android.internal.os.ZygoteInit$MethodAndArgsCaller
プロジェクトを再構築してクリーンアップし、Google で検索しても、良い結果は得られませんでした。
誰かがこの問題を解決する方法を提案できますか? 前もって感謝します!
【私の環境】
- Windows 8.1 プロ 64 ビット
- Android スタジオ 1.3
- エクスペリア SO-04F
[参照]