1. 程式人生 > 程式設計 >使用Android Studio建立OpenCV4.1.0 專案的步驟

使用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專案

新建專案(支援C++)

使用Android Studio建立OpenCV4.1.0 專案的步驟

使用Android Studio建立OpenCV4.1.0 專案的步驟

使用Android Studio建立OpenCV4.1.0 專案的步驟

(3)將OPENCV 4.1.0 Android SDK的java模組匯入到專案中

a) 將下載的opencv-4.1.0-android-sdk.zip檔案解壓,解壓後進入到“opencv-4.1.0-android-sdk\OpenCV-android-sdk\sdk”的目錄下,有如下檔案:

使用Android Studio建立OpenCV4.1.0 專案的步驟

b)將java模組匯入到已建立的專案中

使用Android Studio建立OpenCV4.1.0 專案的步驟

使用Android Studio建立OpenCV4.1.0 專案的步驟

使用Android Studio建立OpenCV4.1.0 專案的步驟

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目錄(如果沒有的話)

使用Android Studio建立OpenCV4.1.0 專案的步驟

將opencv 4.1.0 android sdk中的opencv-4.1.0-android-sdk\OpenCV-android-sdk\sdk\native\libs庫的所有架構檔案複製到jniLibs目錄中

使用Android Studio建立OpenCV4.1.0 專案的步驟

使用Android Studio建立OpenCV4.1.0 專案的步驟

再到專案app模組對應的build.gradle進行配置,增加jniLibs.srcDirs引數

sourceSets{
  main{
    jniLibs.srcDirs = ['src/main/jniLibs']
  }
}

以及配置支援的ndk型別,如下圖所示,把已知的架構包寫到app對應的build.gradle中

使用Android Studio建立OpenCV4.1.0 專案的步驟

然後配置專案app的依賴專案,選擇“檔案”-》“Project Structure”,然後設定app模組的的依賴模組,如下圖所示:

使用Android Studio建立OpenCV4.1.0 專案的步驟

選擇“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 內容請搜尋我們以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援我們!