2021-05-12 14:32:11
使用Android Studio建立OpenCV4.1.0 專案的步驟
一、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-sdkOpenCV-android-sdksdk」的目錄下,有如下檔案:
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-sdkOpenCV-android-sdksdknativelibs庫的所有架構檔案複製到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 專案。
到此這篇關於使用Android Studio建立OpenCV4.1.0 專案的步驟的文章就介紹到這了,更多相關Android Studio建立OpenCV 內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!
相關文章