从活动中使用OpenCV时Android崩溃

从活动中使用OpenCV时Android崩溃,android,opencv,Android,Opencv,我是OpenCV新手,但我相信我已经按照本页上的说明正确设置了所有内容 基本上,每当我试图从activity访问OpenCV库中的任何内容时,我的应用程序都会崩溃 以以下代码段为例: Mat src = new Mat(100, 100, CvType.CV_8UC4); 这里我只是想初始化一个矩阵。当我调试代码时,它进入Mat.class文件,然后它会抛出一个“Invocation TargetException”,说“源附件不包含文件Invocation TargetException.c

我是OpenCV新手,但我相信我已经按照本页上的说明正确设置了所有内容

基本上,每当我试图从activity访问OpenCV库中的任何内容时,我的应用程序都会崩溃

以以下代码段为例:

Mat src = new Mat(100, 100, CvType.CV_8UC4);
这里我只是想初始化一个矩阵。当我调试代码时,它进入Mat.class文件,然后它会抛出一个“Invocation TargetException”,说“源附件不包含文件Invocation TargetException.class的源”

我在互联网上搜索了很多解决方案,但没有找到一个令人满意的解决方案,我已经在这个问题上纠缠了好几个星期。如果需要更多信息,请告诉我。非常感谢

注意:我在一开始调用OpenCVLoader,它返回true,我从示例OpenCV应用程序中获取了以下代码片段:

private BaseLoaderCallback mLoaderCallback = new BaseLoaderCallback(this) {
    @Override
    public void onManagerConnected(int status) {
        switch (status) {
        case LoaderCallbackInterface.SUCCESS: {
            // TODO: test
            System.loadLibrary("img_proc_utils");
        }
            break;
        default: {
            super.onManagerConnected(status);
        }
            break;
        }
    }
};

结果是我的Android.mk出现了问题。我包括了OPENCV\u INSTALL\u MODULES:=on,现在一切都像一个魔咒一样工作:)

你能在LogCat中发布错误吗。检查是否在onCreate()方法中调用任何opencv函数。如果是,请将其移动到onCameraViewStarted()或case LoaderCallback接口内。SUCCESS@Darshan一旦调试器进入Mat.class,我就会看到“没有找到本地Lorg/opencv/core/Mat;的实现”;。n_Mat:(III)J'在LogCatalso中,我注意到尽管OpenCVLoader.initAsync返回true,但永远不会调用mLoaderCallback。如果应用程序项目没有JNI部分,只需将相应的OpenCV本机libs从/sdk/native/libs/复制到项目目录中的libs/文件夹中即可。这意味着复制\armeabi、\armeabi-v7a和\x86文件夹。@Darshan您好,我想我已经解决了这个问题。问题出在我的Android.mk文件中,我添加了OPENCV_INSTALL_MODULES:=on,现在一切正常。谢谢你的帮助:)