我从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");
    }
}

10-06 01:08