使用Android Studio创建OpenCV 4.1.0 项目

本文详细介绍了如何使用OpenCV4.1.0版本在Android平台上开发计算机视觉应用,包括下载SDK、配置Android Studio、导入模块、调整build.gradle文件以及配置JNI库的具体步骤。

一、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++)

(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 项目。

 

 

 

 

 

OpenCV (Open Source Computer Vision Library) 是一个开源的计算机视觉和机器学习软件库。它包含了数千个优化的算法,用于图像处理和视频分析。此源代码为 VS2017打开,可以自己安装VS2017进行编译。 OpenCV库自1999年成立以来,已经成为计算机视觉领域的基石,它广泛应用于学术研究和产业实践中。OpenCV4.12.0版本是该库发展史上的一个重要里程碑,提供了大量改进和新功能,为开发者和研究者提供了强大的工具集。该版本特别适配于Visual Studio 2017开发环境,让开发者可以方便地在Windows平台上进行计算机视觉项目的开发。 OpenCV 4.12.0包含了广泛的图像处理和计算机视觉算法,例如特征检测、图像分割、对象识别、机器学习等。这些算法在性能上做了优化,确保了在各种应用场景中的高效性。其中一些关键特性包括对深度学习的支持、新的多维数组操作接口、改进的GUI和视频分析功能等。库中的模块经过精心设计,可互相协作,同时也提供了丰富的接口与其他库和应用程序集成。 对于希望使用OpenCV 4.12.0进行开发的用户来说,通过Visual Studio 2017工程可以简化整个编译和配置过程。开发者无需从头开始设置项目,可以利用提供的工程文件快速启动和运行项目。此外,VS2017工程还允许开发者轻松地将OpenCV集成到自己的应用程序中,并根据需要进行定制和扩展。 作为最新版本,OpenCV 4.12.0还加入了许多新模块和改进,比如3D重建模块的增强,新的立体匹配算法,以及对无人机平台的图像稳定算法等。在性能方面,库中的许多函数和模块通过优化代码来提高效率,为需要高速处理的应用提供支持。 OpenCV在学术界和工业界的广泛采用,证明了其在计算机视觉和图像处理领域的领先地位。OpenCV 4.12.0开源
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值