使用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-sdkOpenCV-android-sdksdk”的目錄下,有如下文件:

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-sdkOpenCV-android-sdksdknativelibs庫(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)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!
相關(guān)文章:
1. PHP laravel實(shí)現(xiàn)導(dǎo)出PDF功能2. python中文本字符處理的簡(jiǎn)單方法記錄3. JavaScript實(shí)現(xiàn)留言板實(shí)戰(zhàn)案例4. vscode運(yùn)行php報(bào)錯(cuò)php?not?found解決辦法5. Python-openpyxl表格讀取寫(xiě)入的案例詳解6. JS中6個(gè)對(duì)象數(shù)組去重的方法7. 使用Blazor框架實(shí)現(xiàn)在前端瀏覽器中導(dǎo)入和導(dǎo)出Excel8. ASP基礎(chǔ)知識(shí)Command對(duì)象講解9. Python使用Selenium自動(dòng)進(jìn)行百度搜索的實(shí)現(xiàn)10. 如何從Python的cmd中獲得.py文件參數(shù)

網(wǎng)公網(wǎng)安備