我从OpenCV示例中编译了教程2-混合处理演示。我对其进行了以下更改,以使其无需OpenCV软件包管理器即可工作。
添加了一个静态部分来初始化OpenCV:
static {
if (!OpenCVLoader.initDebug()) {
// Handle initialization error
Log.i(TAG, "OpenCVLoader Failed");
} else {
Log.i(TAG, "OpenCVLoader Succeeded");
System.loadLibrary("mixed_process");
}
}
删除了mLoaderCallback.onManagerConnected(LoaderCallbackInterface.SUCCESS);
@Override
public void onResume()
{
super.onResume();
}
运行应用程序时出现此错误:
错误:
08-19 13:21:35.455: E/AndroidRuntime(2388): java.lang.UnsatisfiedLinkError: No implementation found for long org.opencv.core.Mat.n_Mat(int, int, int) (tried Java_org_opencv_core_Mat_n_1Mat and Java_org_opencv_core_Mat_n_1Mat__III)
如何解决此错误?
最佳答案
我弄清楚自己,问题是我没有在应用程序中加载libopencv_java3.so。我修好后,它工作正常。
static {
if (!OpenCVLoader.initDebug()) {
// Handle initialization error
Log.i(TAG, "OpenCVLoader Failed");
} else {
Log.i(TAG, "OpenCVLoader Succeeded");
System.loadLibrary("CameraVision");
System.loadLibrary("opencv_java3");
}
}