OpenCV

OpenCV,全称Open Source Computer VisionLibrary,是基于C/C++编写的,是BSD开源许可的计算机视觉开发框架,其开源协议允许在学术研究与商业应用开发中免费使用它。OpenCV支持Windows、Linux、Mac OS、iOS与Android操作系统上的应用开发。

OpenCV Android SDK

OpenCV Android SDK 是OpenCV针对Android平台提供的开发工具包。Android应用开发一般采用Java或者Kotlin语言进行,而OpenCV主要模块采用C、C++语言编制,因此,我们需要通过JNI技术,实现JAVA或者Kotlin调用OpenCV算法模块的目的。

下载

  • 官网下载地址(https://opencv.org/releases/)
  • 选择OpenCV版本下的Android

SDK概述

SDK目录结构如下:

OpenCV-android-sdk|_ samples|_ sdk|    |_ etc|    |_ java|    |_ libcxx_helper|    |_ native|          |_ 3rdparty|          |_ jni|          |_ libs|               |_ arm64-v8a|               |_ armeabi-v7a|               |_ x86|               |_ x86_64|          |_ staticlibs|               |_ arm64-v8a|               |_ armeabi-v7a|               |_ x86|               |_ x86_64||_ LICENSE|_ README.android
目录 文件
samples OpenCV运行案例
sdk OpenCV API以及依赖库
sdk/etc Haar和LBP级联分类器
sdk/java OpenCV Java API
sdk/libcxx_helper bring libc++_shared.so into packages
sdk/native OpenCV 静态库、动态库以及JNI文件

英文详细介绍(https://opencv.org/android/)。其实官方的这些介绍并不详细,很多资料随着版本的迭代已过时,意义不大,唯一阅读性高且具有指导意义的应该就是库内的代码与注释了。

开发环境

  • Android Studio 3.5.3 & Android SDK

  • Android NDK 20.1.5948944

  • CMake 3.10.2

  • OpenCV Android SDK 4.2.0

Hello OpenCV Android Sample

  • Open Project
  • 选择OpenCV-android-sdk目录下的samples目录
  • 待编译结束后运行face-detection

Android OpenCV(零):OpenCV Android SDK_第1张图片

Hello OpenCV Android SDK

  • New Project
  • Import Module…
  • 选择OpenCV-android-sdk目录下的sdk目录,修改或者不修改module的名称
  • 添加app程序对sdk module的依赖
  • 期间可能会遇到一些问题,可能是NDK版本问题,可能是API LEVEL问题,也可能是build tools的问题,对应的稍作处理即可。

示例工程

https://github.com/onlyloveyd/LearningAndroidOpenCV

更多相关文章

  1. Android各版本 内外卡真实路径
  2. [Android] 一份代码,两个版本
  3. Android快速开发框架之xUtils---图片模块
  4. android最新源码(4.4.2_r1版本以上)下载
  5. Android版本和兼容情况
  6. Android Studio编译release版本
  7. 【Android 应用开发】 Ubuntu 安装 Android Studio (旧版本|仅作
  8. android 应用自身检测版本并下载
  9. Android:系统信息(内存、cpu、sd卡、电量、版本)的获取

随机推荐

  1. 【Python】logging结合decorator模式实优
  2. python接入微博第三方API之2接入用户登录
  3. Python开发利器——wingIDE破解技巧
  4. python subprocess模块 监控子进程的2种
  5. python 的基础 学习 11天 作业题
  6. Django i18n:为{% blocktrans %}块推荐的
  7. [Z] 通天塔导游:各种编程语言的优缺点
  8. Python Homework(2018-05-30,第十三周周三)
  9. Python实战小程序——matplotlib模块画图
  10. 为什么我们需要使用rabbitmq