欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

Android Studio集成OpenCV

程序员文章站 2022-07-03 17:50:49
SDK关键别用4.0.0版的用老版创建新项目或者使用老项目使用向导创建一个新项目(Menu:/File/New Project)。编译运行这时候可以试试运行新建的项目(Menu:/Run/Run ‘app’)。可以试试修改文件app/res/layout/content_main.xml,修改一下字符串“Hello world!”,然后看看运行效果。下载OpenCV for Android从opencv网站下载OpenCV for Android,解压到本地目录,例如/opt/Op...

SDK关键别用4.0.0版的用老版

Android Studio集成OpenCV

  1. 创建新项目或者使用老项目
    使用向导创建一个新项目(Menu:/File/New Project)。

  2. 编译运行
    这时候可以试试运行新建的项目(Menu:/Run/Run ‘app’)。可以试试修改文件app/res/layout/content_main.xml,修改一下字符串“Hello world!”,然后看看运行效果。

  3. 下载OpenCV for Android
    从opencv网站下载OpenCV for Android,解压到本地目录,例如/opt/OpenCV-android-sdk。
    确定sdk/native/libs目录下有arm…,mips…和等开头的子目录,这些是针对不同平台的编译好的库文件。稍后我们需要把libs目录复制到项目中。

  4. 在项目中导入OpenCV
    把OpenCV导入到项目中(Menu:/File/New/import_Module):
    Source-directory:{unzip-dir}/adk/java
    Module name: Android Studio能自动填充这个信息openCVLibrary310,这个我们不用修改,默认就行
    点击“next”,接下来有3个复选框,我们需要全部选中,点击“Finish”

    接下来,Android Studio开始导入module,完成后,能够看到import-summary.txt,如下图:
    Android Studio集成OpenCV

同时,你还会看到一个错误信息,说找不到android-14,这是因为我们下载的OpenCV中的build.gradle里配置的是用android API version 14编译,默认情况下,我们的Android SDK里已经不包含android-14这个版本了。后面我们需要解决这个错误。

Android Studio集成OpenCV

  1. *设置Module依赖
    因为我们的app里要使用opencv库里提供的方法,我们需要在app的依赖里增加刚导入进来的opencv module。

打开project structure(Menu:/File/Project_Structure)
选择“app”module
切换到Dependenciestab页
点“+”,选择Module,能看到openCVLibrary310,选择之
6. 查看app build.gradle
项目中有很多个build.gradle文件,我们要看app的build.gradle文件,这个文件在目录cvtest1/app下面,在project视图里是这样的build.gradle(Module:app),重点看如下内容:
Android Studio集成OpenCV

compileSDKVersion (mine says 23)
buildToolsVersion (mine says 23.0.2)
minSdkVersion (mine says 19)
targetSdkVersion (mine says 23)
7. *修改OpenCV build.gradle
我们需要按照上面的内容来修改OpenCV的build.gradle,默认情况下,在project view下看不到新导入的openCVLibrary310,如下图:

这时,我们可以切换左上角的Android视图到Project Files视图,如下图:

上图光标选中的build.gradle文件就是我们要修改的文件。
8. Rebuild Project
rebuild项目(Menu:/Build/Rebuild Project),这时应该没有错误信息了,如下图:

这时在project view的Android视图里,可以看到openCVLibrary310这个Module了,如下图:

  1. *复制OpenCV Native lib到项目
    复制{unzip-dir}/sdk/native/libs到项目cvtest1/openCVLibrary/src/main/目录下,重命名为jniLibs,如图所示:
    Android Studio集成OpenCV

  2. 修改代码,加载OpenCV so
    修改文件MainActivity.java,在函数onCreate最后增加如下代码,加载OpenCV动态链接库。

if (!OpenCVLoader.initDebug()) {
Log.e(this.getClass().getSimpleName(), " OpenCVLoader.initDebug(), not working.");
} else {
Log.d(this.getClass().getSimpleName(), " OpenCVLoader.initDebug(), working.");
}
运行一下

作者:menglj
链接:https://www.jianshu.com/p/e90da53c4bb5
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

本文地址:https://blog.csdn.net/weixin_40212700/article/details/107492273