java.lang.UnsatisfiedLinkError: No implementation found for long org.opencv.core.Mat.n_Mat()
Android调试openCV4Android的时候出现以下错误
java.lang.UnsatisfiedLinkError: No implementation found for long org.opencv.core.Mat.n_Mat() (tried Java_org_opencv_core_Mat_n_1Mat and Java_org_opencv_core_Mat_n_1Mat__)
原因是因为没有加载openCV4Android的库,需要动态加载,在需要用到的activity中添加如下代码:
@Override protected void onResume() { super.onResume(); if (!OpenCVLoader.initDebug()) { Log.d(TAG, "Internal OpenCV library not found. Using OpenCV Manager for initialization"); OpenCVLoader.initAsync(OpenCVLoader.OPENCV_VERSION_3_0_0, this, mLoaderCallback); } else { Log.d(TAG, "OpenCV library found inside package. Using it!"); mLoaderCallback.onManagerConnected(LoaderCallbackInterface.SUCCESS); } }
//openCV4Android 需要加载用到 private BaseLoaderCallback mLoaderCallback = new BaseLoaderCallback(this) { @Override public void onManagerConnected(int status) { switch (status) { case LoaderCallbackInterface.SUCCESS: { Log.i(TAG, "OpenCV loaded successfully"); // mOpenCvCameraView.enableView(); // mOpenCvCameraView.setOnTouchListener(ColorBlobDetectionActivity.this); } break; default: { super.onManagerConnected(status); } break; } } };