3

每个人。我正在尝试将 tess-two OCR 库包含到 Android 项目中,但出现了一些问题。

[我正在尝试做的事情]

在 Android Studio 上使用 tess-two(tess-two github 链接)进行 OCR。
(我想开发一些 OCR 应用程序)

[我被困的地方]

从 Android Studio 运行时应用程序被强制终止

[我做了什么]

  1. 下载了 tess-2
  2. 建造它
ndk-build
android update project --path C:\...\tess-two  
ant release
  1. 在 Android Studio 上做了一个新项目“测试”(API 16,空白活动)
  2. 将 classes.jar 放到 test\app\libs
  3. 将 classes.jar 作为库添加到应用程序
  4. 将带有 .so 文件(armeabi-v7a、mips、x86)的目录放入 test\app\src\main\jniLibs
  5. 将以下代码放入 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();

}
  1. 在智能手机上运行应用程序。

然后,应用程序停止了。我调试了它,程序似乎停止在TessBaseAPI tessOCRAPI = new TessBaseAPI();. 调试时,调试窗口出现以下语句。

com.android.internal.os.ZygoteInit$MethodAndArgsCaller

重建和清理项目并在谷歌上搜索并没有得到任何好的结果。

任何人都可以提出解决此问题的方法吗?先感谢您!

【我的环境】

  • Windows 8.1 专业版 64 位
  • 安卓工作室 1.3
  • Xperia SO-04F

[参考]

4

0 回答 0