一、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项目

(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”的目录下,有如下文件:

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

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目录(如果没有的话)

 

将opencv 4.1.0 android sdk中的opencv-4.1.0-android-sdk\OpenCV-android-sdk\sdk\native\libs库的所有架构文件复制到jniLibs目录中

 

再到项目app模块对应的build.gradle进行配置,增加jniLibs.srcDirs参数

sourceSets{    main{        jniLibs.srcDirs = ['src/main/jniLibs']    }}

以及配置支持的ndk类型,如下图所示,把已知的架构包写到app对应的build.gradle中

然后配置项目app的依赖项目,选择“文件”-》“Project Structure”,然后设置app模块的的依赖模块,如下图所示:

选择“OK",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"            }        }        ndk{            abiFilters "arm64-v8a","armeabi-v7a","x86","x86_64"        }    }    buildTypes {        release {            minifyEnabled false            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'        }    }    sourceSets{        main{            jniLibs.srcDirs = ['src/main/jniLibs']        }    }    externalNativeBuild {        cmake {            path "CMakeLists.txt"        }    }}dependencies {    implementation fileTree(include: ['*.jar'], dir: 'libs')    implementation 'com.android.support:appcompat-v7:28.0.0'    testImplementation 'junit:junit:4.12'    androidTestImplementation 'com.android.support.test:runner:1.0.2'    androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'    implementation project(':opencv41Libs')}

这样配置就可以使用Android Studio创建OpenCV 4.1.0 项目。

 

 

 

 

 

更多相关文章

  1. android下的读写权限
  2. How to build android
  3. 《Android(安卓)Activity》活动的介绍和创建
  4. Android(安卓)SharedPreference 源码分析(一)
  5. android jni 包裹文件(jni wrapper) 以 speex 库为例
  6. Android(安卓)Studio中使用*.jar,*.aar和*.so文件
  7. Android入门笔记 - 数据存储 - SharedPreferences
  8. 在Android(安卓)2.3中如何使用native_activity.h编写本地应用
  9. android studio关联源码

随机推荐

  1. 【Android】学习笔记(9)——SQLite简单使
  2. 2012版辅助开发工具包(ADT)新功能特性介绍
  3. Mac下用Charles实现Android(安卓)http和h
  4. Android 内存优化
  5. android sql
  6. 【Android】 从头搭建视频播放器(1)——概
  7. osg for android (一) 简单几何物体的加
  8. Android(安卓)源码分析之旅3.1--消息机制
  9. Android 布局中调字体的行距和间距
  10. Android 进程保活手段分析