使用Android Studio创建OpenCV4.1.0 项目的步骤

一、OpenCV 

OpenCV(开源计算机视觉库)是一个开源的计算机视觉和机器学习软件库,是一个基于C与C++的跨平台计算机视觉处理库。

二、下载

开发基于Andorid的计算机视觉的应用可以使用OpenCV 4.1.0-Android SDK:

从官方网站下载 OpenCV 4.1.0 For Android SDK

https://sourceforge.net/projects/opencvlibrary/files/4.1.0/opencv-4.1.0-android-sdk.zip/download

三、使用Android Studio 开发基于OpenCV 4.1.0的移动应用

(1)平台版本

Android Studio 3.2.1

 (2)新建一个Android项目

新建项目(支持C++)

使用Android Studio创建OpenCV4.1.0 项目的步骤

使用Android Studio创建OpenCV4.1.0 项目的步骤

使用Android Studio创建OpenCV4.1.0 项目的步骤

(3)将OPENCV 4.1.0 Android SDK的java模块导入到项目中

a) 将下载的opencv-4.1.0-android-sdk.zip文件解压,解压后进入到“opencv-4.1.0-android-sdk\OpenCV-android-sdk\sdk”的目录下,有如下文件:

使用Android Studio创建OpenCV4.1.0 项目的步骤

b)将java模块导入到已创建的项目中

使用Android Studio创建OpenCV4.1.0 项目的步骤

使用Android Studio创建OpenCV4.1.0 项目的步骤

使用Android Studio创建OpenCV4.1.0 项目的步骤

c)将已经改名为opencv41Libs(命名自行定义)的java模块,即opencv41Libs模块修改对应的build.gradle文件

有三处需要注意:

  • 将文件中的 "apply plugin: 'com.android.application'"修改为“apply plugin: 'com.android.library'”
  • 将文件中的自动生成的“applicationId "org.opencv"”删除,因为opencv41Libs模块是作为库存在而不是应用存在
  • 将compileSdkVersion 、buildToolsVersion、minSdkVersion 、targetSdkVersion 属性值的设置与app对应的build.gradle文件的配置一致。

例如app对应的build.gradle为:

apply plugin: 'com.android.application'

android {
  compileSdkVersion 28
  defaultConfig {
    applicationId "app.userhu2012.test"
    minSdkVersion 27
    targetSdkVersion 28
    versionCode 1
    versionName "1.0"
    testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    externalNativeBuild {
      cmake {
        cppFlags "-frtti -fexceptions"
      }
    }
  }
  buildTypes {
    release {
      minifyEnabled false
      proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    }
  }
  externalNativeBuild {
    cmake {
      path "CMakeLists.txt"
    }
  }
}

则opencv41Libs对应的build.gradle文件配置如下:

apply plugin: 'com.android.library'

android {
  compileSdkVersion 28
  buildToolsVersion "28.0.3"

  defaultConfig {
    //applicationId "org.opencv"
    minSdkVersion 27
    targetSdkVersion 28
  }

  buildTypes {
    release {
      minifyEnabled false
      proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
    }
  }
}

d)配置libs库

为项目app的src/main目录下创建一个jniLibs目录(如果没有的话)

使用Android Studio创建OpenCV4.1.0 项目的步骤

使用Android Studio创建OpenCV4.1.0 项目的步骤

扫一扫手机访问