天天看点

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环境搭建