从活动中使用OpenCV时Android崩溃
我是OpenCV新手,但我相信我已经按照本页上的说明正确设置了所有内容 基本上,每当我试图从activity访问OpenCV库中的任何内容时,我的应用程序都会崩溃 以以下代码段为例:从活动中使用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
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,现在一切正常。谢谢你的帮助:)