天天看點

Android Studio OpenCV 4.5.2環境搭建

1. 建立工程

  1. 打開Android Studio, 點選Create New Project
  2. 選擇Native C++, 點選Next
  3. 輸入Name: OpenCV452, 點選Next
  4. C++ Standard選擇: C++17, 點選Finish
  5. 等待一分鐘左右, 時間視電腦速度和網絡而定, 讓as做準備工作

2. 導入opencv

  1. 打開opencv官網, 下載下傳opencv452的安卓檔案, 速度慢的話, 就用迅雷下載下傳
    Android Studio OpenCV 4.5.2環境搭建
  2. 下載下傳後是一個壓縮檔案, 解壓後目錄是這個樣子, 我們要導入的是sdk下面的java檔案夾
    Android Studio OpenCV 4.5.2環境搭建
  3. 切換到as(Android Studio), 點選左上角菜單欄 File/New/Import Module
  4. Source directory: 選擇sdk/java (你的opencv下載下傳到哪裡, 就去哪裡找), Module name 改為OpenCVLib452
    Android Studio OpenCV 4.5.2環境搭建
  5. 點選Next, 點選Finish
  6. 把opencv修改為library
    Android Studio OpenCV 4.5.2環境搭建

原來的代碼

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'
        }
    }
}
           
  1. 統一compileSdkVersion和buildToolsVersion

    app版本号

    Android Studio OpenCV 4.5.2環境搭建

opencvlib452版本号

Android Studio OpenCV 4.5.2環境搭建

點選as菜單左上角的File/Project Structure/Modules, 選擇OpenCVLib452,

點選29.0.2右側的下拉菜單, 選擇30.0.3,

點選29右側的下拉菜單, 選擇30, (覺得30 太高的話, 可以用29, 28 都可以)

點選OK

Android Studio OpenCV 4.5.2環境搭建

3. SDK Tools必裝元件

  1. 閱讀as官方使用者指南, 必裝元件有3個: NDK, CMake, LLDB(安裝 Android Studio 時會随同安裝 LLDB)
  2. 點選菜單欄Tools/SDK Manager
    Android Studio OpenCV 4.5.2環境搭建
  3. 打開SDK Tools頁面, 勾選右下角的Show Package Details
    Android Studio OpenCV 4.5.2環境搭建
  4. 確定NDK至少下載下傳安裝了一個版本
    Android Studio OpenCV 4.5.2環境搭建
  5. 確定CMake至少下載下傳安裝了一個版本
    Android Studio OpenCV 4.5.2環境搭建

4. 導入opencv的so檔案

  1. 切換為project視圖, 原來的是Android視圖
    Android Studio OpenCV 4.5.2環境搭建
  2. 在app檔案夾右鍵, 建立JNI Folder
    Android Studio OpenCV 4.5.2環境搭建
  3. 勾選Change Folder Location,

    New Folder Location内容為src/main/jniLibs/

    點選Finish

  4. 把opencv-4.5.2-android-sdk\OpenCV-android-sdk\sdk\native\libs下面的四個檔案夾
    Android Studio OpenCV 4.5.2環境搭建

複制到asProject\OpenCV452\app\src\main\jniLibs

Android Studio OpenCV 4.5.2環境搭建

5. 修改cmake配置

  1. 打開asProject\OpenCV452\app\build.gradle檔案
  2. 修改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'
            }
        }
           
  1. 同步一下檔案
    Android Studio OpenCV 4.5.2環境搭建

6. 添加依賴

  1. 點選as菜單左上角的File/Project Structure/Dependencies
  2. 選擇app, 點選Declared Dependencies下方的+号,
  3. 選擇Module Dependency
  4. 勾選OpenCVLib452, 點選OK
  5. 點選OK

到此為止, opencv環境搭建完畢.

驗證opencv是否可用

opencv-4.5.2-android-sdk\OpenCV-android-sdk\samples

這裡面有很多opencv例子, 基本上複制黏貼就能用

Q群有該教程的完整代碼, 以及測試例子

聲明

部分内容來自網絡

本教程僅用于學習, 禁止用于其他用途

bilibili

牙叔教程

微信公衆号 牙叔教程

Android Studio OpenCV 4.5.2環境搭建

QQ群

747748653

Android Studio OpenCV 4.5.2環境搭建
Android Studio OpenCV 4.5.2環境搭建