版权声明:本文由 Micheal 超 博客 创作,未经博主允许不得转载。 https://blog.csdn.net/qq_42887760/article/details/86681644
安装环境
- Windows10
- Android Studio 2.3.3
- Java JDK1.8 和JRE 1.8。
OpenCV3.2 Android SDK下载与安装
(参考博客:https://blog.csdn.net/qq583083658/article/details/80137196)
- 将下载的opencv-3.2.0-android-sdk.zip解压到你要存放的下,目录结构如下图
1. sdk : 即是我们开发opencv所需要的类库,包括Java和C++。
2. samples : 存放着若干opencv应用示例(包括人脸检测等),可为我们进行android下的opencv开发提供参考
注意:要在手机上安装这些apk应用文件,首先要安装OpenCV3.4.1 Manager package,在apk目录下。
3. apk: 存放着对应于各内核版本的OpenCV应用安装包,如下图
环境配置
- 新建Android项目
打开Android Studio,新建一个工程,命名为BankCardRec,一直点击Next,最后一步点击finish。 - 导入依赖
- 选择File->New->Import Moudle,然后选择…(刚才解压的目录下)\OpenCV-android-sdk\sdk\java,选择OK,选择Finish,如下图所示
- 右击APP->选择Open Model Settings 进入如下界面:
- 选择刚刚的 Library320
- 可以看到OpenCV依赖已经设置成功了
- 确保下图两个文件中的信息一致
- 拷贝相关so文件
将 OpenCV-android-sdk(解压后的文件) 下的sdk->native -> libs下所有目录复制到 BankCardRec(创建的Android项目)下的 App->libs 文件下
然后,可以逐个将拷贝来的文件夹中的***.a文件全部删除(因为用不到这些文件),留下***.so的文件(此操作可以忽略)
- 修改gradle脚本
apply plugin: 'com.android.application'
android {
compileSdkVersion 24
buildToolsVersion "25.0.0"
defaultConfig {
applicationId "gloomyfish.bankcardrec"
minSdkVersion 14
targetSdkVersion 24
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
compile fileTree(dir: "$buildDir/native-libs", include: 'native-libs.jar')
androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
exclude group: 'com.android.support', module: 'support-annotations'
})
compile 'com.android.support:appcompat-v7:24.2.1'
testCompile 'junit:junit:4.12'
compile project(':openCVLibrary320')
}
task nativeLibsToJar(type: Jar, description: 'create a jar archive of the native libs') {
destinationDir file("$buildDir/native-libs")
baseName 'native-libs'
from fileTree(dir: 'libs', include: '**/*.so')
into 'lib/'
}
tasks.withType(org.gradle.api.tasks.compile.JavaCompile) {
compileTask -> compileTask.dependsOn(nativeLibsToJar)
}
- Re-build项目
先 Build->clear Project
然后 Build->Rebuild Project
测试代码
- 加载OpenCV相关库
- 使用OpenCV相关函数
- 运行与查看(详细请看:OpenCV-Android平台应用实战 - 银行卡卡号识别(02、代码测试))
参考博客:
- Android Studio 2.2 + OpenCV3.4.1_4_Android_Sdk环境配置
- OpenCV -Android Studio 中使用(opencv-3.4.0-android-sdk)
- opencv-android笔记1:android studio 2.3 + opencv-android-sdk 实现 camera预览
- AS调试opencv示例代码,尝试解决camera2包报错的问题
- Error:Failed to find target with hash string ‘android-25’ in: E:\androidstudio\androidstudio\sdk
- 错误:找不到符号 类XXX 位置:程序包 com.xxx.xxx
- Android studio 2.3.3配置OpenCV 3.4.2