前言:由于参加嵌入式比赛,需要用安卓端进行图形识别处理,所以找了好多博客主的资料,谢谢大神们的帮助在文章左后会奉上链接,在压缩包里也有相关说明
1.先去opencv官网下载android版的opencv包,这里我用的opencv是4.2.0的版本。在这里直接奉上链接https://pan.baidu.com/s/1HZYcX0iO_6P2I9EtdSn0uQ 提取码:864j
解压后是这样的
这个目录里是每个平台的库,在这里用的是arm64的其它的都可以删除节省空间
2.然后新建一个项目,此处省略。。。
3.导入opencv 库,有简单的方法,就是直接点击import module导入模块
然后选择刚才解压的sdk路径
这里module name 可以改成别的opencv什么的这里我就没改只用到了opencv的库名字前的;一定不能丢,然后下一步
4.更改buil.gradle信息,如图,对照module app 里的
compileSdkVersion
buildToolsVersion
minSdkVersion
targetSdkVersion
把module sdk 中的这四项的版本号写成一样的,没有的补上,应该是少一个buildToolsVersion,补上就可以,编译一下,没问题就ok
5.添加依赖
在app里添加module dependency 选择sdk,这sdk是根据导入的时候的名字来取的
点击ok就行
6.在OpenCV的解压包中,将sdk-->native-->libs文件夹复制,粘贴在Project视图下app-->src-->main目录下,并将其重命名为jniLibs
复制完就这样
7.开始测试吧
@Override
protected void onResume() {
super.onResume();
//load OpenCV engine and init OpenCV library
if (!OpenCVLoader.initDebug()){
OpenCVLoader.initAsync(OpenCVLoader.OPENCV_VERSION_3_2_0,this,mLoaderCallback);
}else{
mLoaderCallback.onManagerConnected(LoaderCallbackInterface.SUCCESS);
}
}
//OpenCV库加载并初始化成功后的回调函数
private BaseLoaderCallback mLoaderCallback = new BaseLoaderCallback(this) {
@Override
public void onManagerConnected(int status) {
// TODO Auto-generated method stub
switch (status){
case BaseLoaderCallback.SUCCESS:
Log.i(TAG, "成功加载");
break;
default:
super.onManagerConnected(status);
Log.i(TAG, "加载失败");
break;
}
}
};
这是必须添加初始化的代码复制粘贴上,最先调用就行
结尾:以上就是我对opencv的分享,如有问题欢迎私信
感谢这些博主
https://blog.csdn.net/gao_chun/article/details/49359535
https://www.jianshu.com/p/6e16c0429044