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

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调用shell命令及权限问题
  2. 用Eclipse开发android原码
  3. Android(安卓)Sudio 如何获取SHA1(开发版和发布版)
  4. 史上最全谷歌Android开发工具Android(安卓)Studio下载地址汇总
  5. Android快速开发框架之xUtils---图片模块
  6. Android(安卓)程序员指南 PDF下载
  7. Android开发实战三之导入现有Android工程项目
  8. ubuntu10.04上android环境安装“org.eclipse.gef 0.0.0”问题解
  9. Android(安卓)cocos2d-x开发(二)之create-android-project.bat文件

随机推荐

  1. Android 属性动画的原理分析
  2. Android系统在新进程中启动自定义服务过
  3. android xml使用pull解析
  4. Multiple markers at this line - The ty
  5. 2种自定义android标题栏titleBar的方法
  6. Android6.0源码开发之修改默认音量defaul
  7. android中Matrix之一(图片二维转动)
  8. android Looper& Handler
  9. React Native嵌入Android原生项目中
  10. Android---配置adb环境变量