【问题标题】:How to integrate opencv manager in an android app如何将 opencv 管理器集成到 Android 应用程序中
【发布时间】:2013-10-17 08:33:11
【问题描述】:

我正在开发一个使用 opencv 库的 android 应用程序,它是 opencv 管理器应用程序。 它需要预先安装 opencv 管理器, 我想将 opencv 管理器集成到我的应用程序中,这样就不需要在外部安装 opencv 管理器

提前致谢

【问题讨论】:

标签: android opencv


【解决方案1】:

1 - 将 OpenCV 库项目添加到您的工作区(使用菜单文件 -> 导入 -> 工作区中的现有项目。)

2 - 在应用程序项目中,在 Project -> Properties -> Android -> Library -> Add select OpenCV Library - 2.4.8 中添加对 OpenCV Java SDK 的引用。

3 - 添加一个文件夹并将其命名为“jni”

4 - 将 Android.mk 文件添加到 jni 文件夹中。它的主体应该如下所示:

LOCAL_PATH := $(call my-dir)

include $(CLEAR_VARS)

# OpenCV
OPENCV_CAMERA_MODULES:=on
OPENCV_INSTALL_MODULES:=on
OPENCV_LIB_TYPE:=STATIC
include ../../sdk/native/jni/OpenCV.mk

5 - 将 Application.mk 文件添加到 jni 文件夹中。它的主体应该如下所示:

APP_STL := gnustl_static
APP_CPPFLAGS := -frtti -fexceptions
APP_ABI := armeabi-v7a
APP_PLATFORM := android-9

6 - 将此添加到您的活动中

static {
        if (!OpenCVLoader.initDebug()) {
            // Handle initialization error
        }
    }

7 - 如果您在 Activity 中添加了以下代码,请注释掉 OpenCVLoader.initAsync(OpenCVLoader.OPENCV_VERSION_2_4_8, this, mLoaderCallback); 您不再需要在恢复事件中加载 OpenCV。

@Override
    public void onResume() {
        super.onResume();
        //OpenCVLoader.initAsync(OpenCVLoader.OPENCV_VERSION_2_4_8, this, mLoaderCallback);
    }

    private BaseLoaderCallback mLoaderCallback = new BaseLoaderCallback(this) {
        @Override
        public void onManagerConnected(int status) {
            switch (status) {
            case LoaderCallbackInterface.SUCCESS:
                //OpenCV loaded successfully
                break;
            default:
                super.onManagerConnected(status);
                break;
            }
        }
    };

也看看这个: http://docs.opencv.org/trunk/doc/tutorials/introduction/android_binary_package/dev_with_OCV_on_Android.html#application-development-with-static-initialization

【讨论】:

  • 谢谢,我还没有机会尝试你的建议。但我会为你的解决方案投票,因为你的解决方案似乎很合理。
  • OpenCVLoader.initDebug() 仍然为我返回 false。
【解决方案2】:

通过使用此库从我的应用程序安装 open Cv 获得了另一个解决方案 AutoInstaller

【讨论】:

    猜你喜欢
    • 2012-05-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-23
    • 2019-12-19
    • 2012-11-10
    相关资源
    最近更新 更多