1,下载opencv的安卓版本;
2,利用androidstudio新建一个空项目;
3,将opencv的sdk的文件夹引入androidstudio作为一个module;
4,修改build.gradle的依赖跟app项目的一样环境;
5,修改新引入的opencv的模块的build.gradler的 apply plugin: 'com.android.application' 修改为
apply plugin:'com.android.library' ;然后删掉 applicationId 属性。这样才能作为一个模块引入到主应用app里面。
6,为了不用每次使用时都要安装opecn-manager的app,我们把他们引入进来:
将sdk\native下的libs文件夹拷贝到你的安卓项目下,即\app\src\main下面,并且将libs改名为jniLibs
7,再次回到Android studio,点击Build-Make project,等待项目构建完成,如果没有报错,就证明opencv已经配置好了,接下来可以进行开发工作了。
8,最后在这里补充一个知识点,很多人在按照如上配置之后,跑opencv的程序会提示没有安装opencv manager,这个问题其实是因为老版的opencv中的onResume()函数没有成功调用集成进去的opencv包文件,我们只要修改一下即可:
老版的opencv程序中是这样写的:
@Override
public void onResume()
{
super.onResume();
OpenCVLoader.initAsync(OpenCVLoader.OPENCV_VERSION_2_4_9, this, mLoaderCallback);
}
1
2
3
4
5
6
我们需要改成这样,直接赋值我这一段进去即可:
@Override
//想要opencv不依赖opencvmanager,关键就在这里,除了基本的把文件复制到项目中外,
// onResume函数必须写成以下形式,这样才能调用到复制过来的包文件
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_0_0, this, mLoaderCallback);
} else {
Log.d(TAG, "OpenCV library found inside package. Using it!");
mLoaderCallback.onManagerConnected(LoaderCallbackInterface.SUCCESS);
}
//super.onResume();
//OpenCVLoader.initAsync(OpenCVLoader.OPENCV_VERSION_2_4_9, this, mLoaderCallback);
}