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'
}
}
}
-
統一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'
}
}
- 同步一下檔案
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群有該教程的完整代碼, 以及測試例子
聲明
部分内容來自網絡
本教程僅用于學習, 禁止用于其他用途
bilibili
牙叔教程
微信公衆号 牙叔教程
QQ群
747748653