【问题标题】:tesseract- target invocation exception- Google glasstesseract-目标调用异常-谷歌眼镜
【发布时间】:2014-09-18 18:55:31
【问题描述】:

这是我的代码

String DATA_PATH = Environment.getExternalStorageDirectory().toString() + "/VIVA/";
    TessBaseAPI baseApi = new TessBaseAPI();
    baseApi.setDebug(true);
    //baseApi.init(DATA_PATH, lang);
    baseApi.init(DATA_PATH, "eng");
    baseApi.setImage(bmp);
    String recognizedText = baseApi.getUTF8Text();
    baseApi.end();
    Log.i("OCRED TEXT 2: " + recognizedText, "hello");

当我调试它时,调试器在这行“TessBaseAPI baseApi = new TessBaseAPI();”之后停止日志cat中没有记录错误,但是它打开了目标调用异常类。

我的训练数据在资产的 tessdata 文件夹中,我已在 onCreate() 方法中将该数据复制到 Google Glass SD 卡中。

我已经使用 ndk-build 编译了 tess-two 项目并生成了 .so 文件。

我错过了什么?

【问题讨论】:

    标签: android google-glass tesseract


    【解决方案1】:

    您是否已将 tess-two 项目添加到您的 Google glass 项目中并导入了类?不能很好地记住你必须在哪里添加它。尝试查看您的玻璃项目 > 属性 > Android

    如果您使用多个 NDK 编译的库,您可以通过删除某个库的 armeabi 文件夹来解决问题。这可能取决于设备的架构(抱歉,无法向您解释太多)。您可以备份已编译的库或在您的 glass 应用程序中使用这些库的副本,然后尝试命中或未命中删除,直到获得它。我也曾经遇到过这个问题,这对我有用。

    【讨论】:

    • 我已经添加了它,但它没有包含在 Android 依赖项中,我已将它添加到 libs 文件夹中,它位于 Android 私有库下。
    • 有时如果你在项目中使用多个库,一个库的armeabi文件夹可以隐藏另一个库的armeabi文件夹。
    • 你的意思是包含同一个库两次?
    • 不,我的意思是,如果您使用 Tesseract 的 NDK 编译库和另一个 NDK 编译库进行图像处理,它们都将具有相同的 armeabi 文件夹结构,其中一个隐藏了其他。
    • 是的,我正在使用 open CV 和 tesseract.. 有什么解决方法吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多