1. 创建工程
- 打开Android Studio, 点击Create New Project
- 选择Native C++, 点击Next
- 输入Name: OpenCV452, 点击Next
- C++ Standard选择: C++17, 点击Finish
- 等待一分钟左右, 时间视电脑速度和网络而定, 让as做准备工作
2. 导入opencv
- 打开opencv官网, 下载opencv452的安卓文件, 速度慢的话, 就用迅雷下载
- 下载后是一个压缩文件, 解压后目录是这个样子, 我们要导入的是sdk下面的java文件夹
- 切换到as(Android Studio), 点击左上角菜单栏 File/New/Import Module
- Source directory: 选择sdk/java (你的opencv下载到哪里, 就去哪里找), Module name 改为OpenCVLib452
- 点击Next, 点击Finish
- 把opencv修改为library
原来的代码
apply plugin: 'com.android.application' android { compileSdkVersion 29 buildToolsVersion "29.0.2" defaultConfig { applicationId "org.opencv" } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt' } } }
现在的代码
apply plugin: 'com.android.library' android { compileSdkVersion 29 buildToolsVersion "29.0.2" defaultConfig { } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt' } } }
7.统一compileSdkVersion和buildToolsVersion
app版本号
opencvlib452版本号
点击as菜单左上角的File/Project Structure/Modules, 选择OpenCVLib452,
点击29.0.2右侧的下拉菜单, 选择30.0.3,
点击29右侧的下拉菜单, 选择30, (觉得30 太高的话, 可以用29, 28 都可以)
点击OK
3. SDK Tools必装组件
- 阅读as官方用户指南, 必装组件有3个: NDK, CMake, LLDB(安装 Android Studio 时会随同安装 LLDB)
- 点击菜单栏Tools/SDK Manager
- 打开SDK Tools页面, 勾选右下角的Show Package Details
- 确保NDK至少下载安装了一个版本
- 确保CMake至少下载安装了一个版本
4. 导入opencv的so文件
- 切换为project视图, 原来的是Android视图
- 在app文件夹右键, 创建JNI Folder
- 勾选Change Folder Location,
- New Folder Location内容为src/main/jniLibs/
点击Finish
- 把opencv-4.5.2-android-sdk\OpenCV-android-sdk\sdk\native\libs下面的四个文件夹
复制到asProject\OpenCV452\app\src\main\jniLibs
5. 修改cmake配置
- 打开asProject\OpenCV452\app\build.gradle文件
- 修改android/defaultConfig/externalNativeBuild/cmake字段
修改前
externalNativeBuild { cmake { cppFlags "-std=c++17" } }
修改后
externalNativeBuild { cmake { cppFlags "-std=c++17 -frtti -fexceptions" abiFilters 'arm64-v8a', 'armeabi-v7a', 'x86', 'x86_64' arguments '-DANDROID_STL=c++_shared' } }
3.同步一下文件
6. 添加依赖
- 点击as菜单左上角的File/Project Structure/Dependencies
- 选择app, 点击Declared Dependencies下方的+号,
- 选择Module Dependency
- 勾选OpenCVLib452, 点击OK
- 点击OK
到此为止, opencv环境搭建完毕.
验证opencv是否可用
opencv-4.5.2-android-sdk\OpenCV-android-sdk\samples
这里面有很多opencv例子, 基本上复制黏贴就能用
Q群有该教程的完整代码, 以及测试例子
声明
部分内容来自网络
本教程仅用于学习, 禁止用于其他用途