Android版本与opencv版本,Android初识Opencv(版本:4.1.1)

OpenCV 集成遇到的问题

一.导入集成

官网下载android资源包含samples 和sdk

以sdk整体当做一个library导入到项目中

网上好多例子说以java文件夹当做一个library试了试会报错比较疑惑为什么这么说因为资源里面的samples也是以sdk整体最为library的

Package not found错误

原因 : 加载载libs失败导致的

创建Mat对象报错

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__)

at org.opencv.core.Mat.n_Mat(Native Method)

at org.opencv.core.Mat.(Mat.java:23)

原因 : 因为的库还没有加载就调用了本地方法

解决方法 : 按照官方demo中的解决方法 在执行onResume()手动初始化含数库

@Override

public void onResume() { //进行手动初始化操作

super.onResume();

if (!OpenCVLoader.initDebug()) {

Log.e("TAG", "Internal OpenCV library not found. Using OpenCV Manager for initialization");

OpenCVLoader.initAsync(OpenCVLoader.OPENCV_VERSION_3_0_0, this, mLoaderCallback);

} else {

Log.e("TAG", "OpenCV library found inside package. Using it!");

mLoaderCallback.onManagerConnected(LoaderCallbackInterface.SUCCESS);

}

}

//初始化回调函数

private BaseLoaderCallback mLoaderCallback = new BaseLoaderCallback(this) {

@Override

public void onManagerConnected(int status) {

switch (status) {

case LoaderCallbackInterface.SUCCESS: {

Log.e("TAG", "OpenCV loaded successfully");

//-----------相关操作-----------

}

break;

default: {

super.onManagerConnected(status);

}

break;

}

}

};

项目搁置...

你可能感兴趣的:(Android版本与opencv版本,Android初识Opencv(版本:4.1.1))