在Android Studio上配置OpenCV4.X 相关环境
由于使用最新版opencv包以及新版Android studio,许多界面及设置和老版有所区别,因此在这里和大家分享最新版本如何配置
第一步:下载opencvsdk
首先到OPENCV官网下载最新版的opencv包https://opencv.org/releases/
如下图选择Android下载,下载完成后解压后打开,sdk文件夹目录下的java和native文件夹后面会用到。
第二步:导入sdk配置环境
首先创建新的工程,然后File->New->Import Module选择刚刚解压的文件夹中SDK下的JAVA文件夹,然后点击next->Finish即可
导入完成后在Android视图下会多出这两个模块,这个时候已经完成了opencv的导入了,但是还不能在你的程序中使用opencv相关命令,接下来就是配置编译所需的环境
第三步:配置环境
双击打开上图所示的build.gradle(.app)和build.gradle(.app),然后修改.java中的版本号和.app中的保持一致,即下图中修改黑框部分与红框保持一致。再修改.java中的部分语句,第一行修改为apply plugin: ‘com.android.library’,并将applicationId org.opencv一行注释掉或者删掉即可(最后效果如下第二幅图所示)
然后就是把native文件夹中libs目录下面的所有文件copy到我们项目的libs目录中这里切记先把在左上角切换成project视图才有,复制后在libs处直接右键paste即可,效果如下图所示
下面还需要配置opencv的相关依赖,点击File->Project Structure,在弹出的界面选择Dependencies下的app,再点击右方框的+号键,选择Module Dependency,然后勾选java选项点击OK即可(如果前面步骤有遗漏或者错误这里就看不到java的选项)
完成上面的工作那么你就已经完成了opencv的所有配置,这个时候我们在Mainactivity.java中输入import org.之后,就会自动弹出opencv的选项了(下图所示),说明已经可以调用opencv包了
那么我们如何在手机或者虚拟机上运行带有opencv的程序,同时避免每次都在手机上安装opencv manager呢,是需要将如下代码粘贴在程序开头即可,粘贴后会有红色报错,只需alt+回车就可以自动导入相关包了
private final String TAG = "MainActivity";
private final BaseLoaderCallback mLoaderCallback = new BaseLoaderCallback(this) {
@Override
public void onManagerConnected(int status) {
switch (status) {
case LoaderCallbackInterface.SUCCESS: {
Log.i(TAG, "OpenCV loaded successfully");
}
break;
default: {
super.onManagerConnected(status);
}
break;
}
}
};
@Override
public 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_2_0, this, mLoaderCallback);
} else {
Log.d(TAG, "OpenCV library found inside package. Using it!");
mLoaderCallback.onManagerConnected(LoaderCallbackInterface.SUCCESS);
}
if (!OpenCVLoader.initDebug()) {// 默认加载opencv_java.so库
}
}
至此就完成了opencv-Android所有配置,并且可以在虚拟机或者手机上运行带opencv的程序啦,之后的学习笔记和相关心得也会继续分享,谢谢大家!!!