OpenCV android没有OpenCV经理

时间:2014-07-17 09:09:03

标签: android opencv

我正在写信给你询问openCV。

首先,我是一名学习openCV的学生,我想在Android应用程序中使用openCV。

到目前为止,当我运行一些应用程序时,我必须下载“openCV Manager App”。

实际上,在运行应用程序时,我不想下载其他应用程序,例如“openCV Manager App”。

所以,我在互联网上搜索了这些问题..基本上,我按照以下链接的建议,

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

和..

我尝试修改onResum回调方法,如下所示..


public void onResume()
{
    super.onResume();
    // OpenCVLoader.initAsync(OpenCVLoader.OPENCV_VERSION_2_4_3, this, mLoaderCallback);
    mLoaderCallback.onManagerConnected(LoaderCallbackInterface.SUCCESS);
}

另外,我试过这种方式,(实际上,我不知道这个代码插在哪里..)


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

但是,当我运行Application时,总会出现'UnsatisfiedLinkError'。

我认为这个问题的原因是环境设置..

我已尝试过以下流程

  1. NDK下载并设置环境变量
  2. 下载openCV库
  3. 设置项目目标
  4. 执行OnResume()的方法,如上所述
  5. 我对这个错误有几个星期的问题,我真的需要帮助。

    提前致谢。

1 个答案:

答案 0 :(得分:0)

我也陷入了困境。我就是这样做的。在主要活动的静态部分,

static {
    if (!OpenCVLoader.initDebug()) {
        // Handle initialization error
    }
    else {
        System.loadLibrary("jni_part"); // load other native libraries
    }
}

不要在onResume()或其他任何内容中保留任何内容。这就足够了。

在Android.mk文件中,

OPENCV_CAMERA_MODULES:=on # If you want Camera module
OPENCV_INSTALL_MODULES:=on

这对我有用。但这也存在一些问题。静态调用使它慢得多。我使用CvCameraBridgeViewBase并且最多可以获得5-6 fps。在动态链接中它大约是15-18 fps。所以我在Java部分停止使用OpenCV。现在我使用Android sdk camera,previewCallback并将缓冲区发送到我使用OpenCV实用程序的jni。如果您打算这样做,那么您就不需要OpenCV.intiDebug()了。您只需要加载本机so文件。