深度学习-推荐系统-CV-NLPAndroid OpenCV

OpenCV 不同平台集成

2019-09-27  本文已影响0人  dongbingliu

OpenCV 集成

1. Android 平台

Android 平台集成主要提供两种方式,Android SDK 下载地址:https://opencv.org/releases/

1.1 Java 层直接调用

直接使用官方提供的 Android SDK 集成 Java 开发,

配置流程 OpenCV – 3.4.6
① 新建或打开 Android 工程项目;
② 工程项目 Import module -> select sdk java 目录 -> 根据修复 openCVLibrary346 文件依赖错误-> 修改opencv module build.gradle 与 工程项目中sdk 版本号保持一致,minSdkVersion 21 -> 工程项目添加依赖 openCVLibrary346「注意:不同版本差异可能需要 application -> apply plugin: 'com.android.library',删除 applicationId
③ sdk/native/libs 目录下arm64-v8a(64位) 与 armeabi-v7a(32位) copy 至工程项目 libs 目录;
④ 项目 module 工程 build.gradle 文件 android{...} 中,添加 libs 依赖,「也可在main 目录新建 jniLibs(大小写敏感) 目录,*.so 动态文件copy,不用添加 sourceSets 代码,两种方案二选一即可」

    sourceSets {
        main {
            jniLibs.srcDirs = ['libs']
        }
    }

⑤ 使用前初始化 initLoadOpenCV()

    private void initLoadOpenCV(){
        boolean success = OpenCVLoader.initDebug();
        if(true == success){
            Log.i(TAG, "OpenCV library loaded ...");
        }else{
            Toast.makeText(this.getApplicationContext(), "Waring: Could not load opencv libraries!", Toast.LENGTH_LONG).show();
        }
    }

Github Sample 代码:https://github.com/JerrryLiu/AndroidSample/tree/master/OpenCvSample/opencv4java

1.2 Native 层调用

直接依赖 libopencv_java3.so 与 头文件自己封装 JNI 方法,代码量少,可以只封装自己使用到的接口;

① AndroidStudio 新建 NDK Include C++工程
.\opencv-3.4.6-android-sdk\OpenCV-android-sdk\sdk\native\libs\* copy 至工程main 文件目录 jniLibs「大小写敏感」
.\opencv-3.4.6-android-sdk\OpenCV-android-sdk\sdk\native\jni\include\opencv2 copy 至项目 module cpp 文件下:

工程目录结构如下:

CmakeLists.txt 文件代码:

Github Sample:https://github.com/JerrryLiu/AndroidSample/tree/master/OpenCvSample/app

参考文章

  1. Android NDK学习笔记:Android Studio3.1+CMAKE+OpenCV3.4配置;
  2. AndroidStudio3.0+ 配置Ndk和OpenCV4.0

2. Linux 平台

3. Windows 平台

上一篇下一篇

猜你喜欢

热点阅读