使用Android Studio創(chuàng)建OpenCV4.1.0 項(xiàng)目的步驟
一、OpenCV
OpenCV(開(kāi)源計(jì)算機(jī)視覺(jué)庫(kù))是一個(gè)開(kāi)源的計(jì)算機(jī)視覺(jué)和機(jī)器學(xué)習(xí)軟件庫(kù),是一個(gè)基于C與C++的跨平臺(tái)計(jì)算機(jī)視覺(jué)處理庫(kù)。
二、下載
開(kāi)發(fā)基于Andorid的計(jì)算機(jī)視覺(jué)的應(yīng)用可以使用OpenCV 4.1.0-Android SDK:
從官方網(wǎng)站下載 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 開(kāi)發(fā)基于OpenCV 4.1.0的移動(dòng)應(yīng)用
(1)平臺(tái)版本
Android Studio 3.2.1
(2)新建一個(gè)Android項(xiàng)目




(3)將OPENCV 4.1.0 Android SDK的java模塊導(dǎo)入到項(xiàng)目中
a) 將下載的opencv-4.1.0-android-sdk.zip文件解壓,解壓后進(jìn)入到“opencv-4.1.0-android-sdk\OpenCV-android-sdk\sdk”的目錄下,有如下文件:

b)將java模塊導(dǎo)入到已創(chuàng)建的項(xiàng)目中



c)將已經(jīng)改名為opencv41Libs(命名自行定義)的java模塊,即opencv41Libs模塊修改對(duì)應(yīng)的build.gradle文件
有三處需要注意:
- 將文件中的 "apply plugin: 'com.android.application'"修改為“apply plugin: 'com.android.library'”
- 將文件中的自動(dòng)生成的“applicationId "org.opencv"”刪除,因?yàn)閛pencv41Libs模塊是作為庫(kù)存在而不是應(yīng)用存在
- 將compileSdkVersion 、buildToolsVersion、minSdkVersion 、targetSdkVersion 屬性值的設(shè)置與app對(duì)應(yīng)的build.gradle文件的配置一致。
例如app對(duì)應(yīng)的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對(duì)應(yīng)的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庫(kù)
為項(xiàng)目app的src/main目錄下創(chuàng)建一個(gè)jniLibs目錄(如果沒(méi)有的話)

將opencv 4.1.0 android sdk中的opencv-4.1.0-android-sdk\OpenCV-android-sdk\sdk\native\libs庫(kù)的所有架構(gòu)文件復(fù)制到j(luò)niLibs目錄中


再到項(xiàng)目app模塊對(duì)應(yīng)的build.gradle進(jìn)行配置,增加jniLibs.srcDirs參數(shù)
sourceSets{
main{
jniLibs.srcDirs = ['src/main/jniLibs']
}
}
以及配置支持的ndk類型,如下圖所示,把已知的架構(gòu)包寫(xiě)到app對(duì)應(yīng)的build.gradle中

然后配置項(xiàng)目app的依賴項(xiàng)目,選擇“文件”-》“Project Structure”,然后設(shè)置app模塊的的依賴模塊,如下圖所示:

選擇“OK",app模塊對(duì)應(yīng)的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創(chuàng)建OpenCV 4.1.0 項(xiàng)目。
到此這篇關(guān)于使用Android Studio創(chuàng)建OpenCV4.1.0 項(xiàng)目的步驟的文章就介紹到這了,更多相關(guān)Android Studio創(chuàng)建OpenCV 內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- OpenCV c++滑動(dòng)條的創(chuàng)建和使用代碼
- 聊聊Qt+OpenCV聯(lián)合開(kāi)發(fā)之圖像的創(chuàng)建與賦值問(wèn)題
- Opencv創(chuàng)建車牌圖片識(shí)別系統(tǒng)方法詳解
- VS2019/2022配置C++ OpenCV4.10.0環(huán)境的圖文步驟
- VisualStudio2022配置opencv的實(shí)現(xiàn)
- Java調(diào)用opencv IDEA環(huán)境配置的教程詳解
- VisualStudio2022 cmake配置opencv開(kāi)發(fā)環(huán)境
- Visual?Studio2022下Opencv的配置圖文教程
- Visual?Studio?2022下載及配置OpenCV4.5.5的詳細(xì)過(guò)程
- vs2019配置C++版OpenCV的方法步驟
- VisualStudio中OpenCV的創(chuàng)建與配置使用小結(jié)
相關(guān)文章
Android開(kāi)發(fā)graphics?bufferqueue整體流程
這篇文章主要為大家介紹了Android開(kāi)發(fā)graphics?bufferqueue整體流程詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-07-07
Android的多媒體管理庫(kù)Glide的基本使用示例
這篇文章主要介紹了Android的多媒體管理庫(kù)Glide的基本使用示例,Glide在圖片App中的表現(xiàn)非常好,Google旗下的Yelp也在使用,需要的朋友可以參考下2016-04-04
Android 將view 轉(zhuǎn)換為Bitmap出現(xiàn)空指針問(wèn)題解決辦法
這篇文章主要介紹了Android 將view 轉(zhuǎn)換為Bitmap出現(xiàn)空指針問(wèn)題解決辦法的相關(guān)資料,這里提供實(shí)例并提供解決辦法,需要的朋友可以參考下2017-07-07
Android應(yīng)用開(kāi)發(fā)中數(shù)據(jù)的保存方式總結(jié)
這篇文章主要介紹了Android應(yīng)用開(kāi)發(fā)中數(shù)據(jù)的保存方式總結(jié),包括對(duì)ROM、SD卡、SharedPreference這三種方式實(shí)現(xiàn)的核心代碼的精選,需要的朋友可以參考下2016-02-02
詳解Android中的MVP架構(gòu)分解和實(shí)現(xiàn)
本篇文章主要介紹了詳解Android中的MVP架構(gòu)分解和實(shí)現(xiàn),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-02-02
Android編程入門之HelloWorld項(xiàng)目目錄結(jié)構(gòu)分析
這篇文章主要介紹了Android編程入門之HelloWorld項(xiàng)目目錄結(jié)構(gòu)分析,較為詳細(xì)的分析了Android項(xiàng)目的目錄結(jié)構(gòu)與具體作用,需要的朋友可以參考下2015-12-12
Android中使用Service實(shí)現(xiàn)后臺(tái)發(fā)送郵件功能實(shí)例
這篇文章主要介紹了Android中使用Service實(shí)現(xiàn)后臺(tái)發(fā)送郵件功能的方法,結(jié)合實(shí)例形式分析了Service實(shí)現(xiàn)郵件的發(fā)送、接收及權(quán)限控制相關(guān)技巧,需要的朋友可以參考下2016-01-01
android遞歸壓縮上傳多張圖片到七牛的實(shí)例代碼
本篇文章主要介紹了android遞歸壓縮上傳多張圖片到七牛的實(shí)例代碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-08-08

