使用Android Studio 3.0 (>=2.2)和Cmake (CMakeLists)让OpenCV 3.4 飞起来

本文介绍了如何在Android Studio 3.0及以上版本使用CMake配置OpenCV 3.4,包括Java和NDK(C++)层的支持,详细讲解了从前期准备到移除OpenCV Manager的全过程,旨在简化集成步骤,无需额外安装OpenCV Manager。
摘要由CSDN通过智能技术生成

Github项目地址
不回复有关“如何配置”的任何问题
2017-01-13 :现在已经更新到OpenCV3.2
2017-12-28 :现在已经更新到OpenCV3.4
Old versions can be downloaded from here

如果需要配置只有静态库的项目,可以去除Cmakelists中所有静态库的注释,但libopencv_java3.so是Java SDK必须的,除非不使用Java层的任何OpenCV接口,否则只能去除libopencv_java.so

如果懒得自己配,可以直接下载,包括使用Cmake作为工具的 OpenCV 3.x for Android(支持Java 和 NDK C++,不需要额外配置,不需要OpenCV Manager),提供一个简单的相机Preview demo (注意,只包含armeabi-v7a,如果需要其他类型可以参考教程自行配置

按照本教程配置大约需要10分钟

说明

自从Android Studio 2.2稳定版发布以后,对于NDK的支持变得比以前更好了(终于支持Cmake了,好感动),但是想要在Android上使用OpenCV,普遍的方式还是基于Android.mk+ndk_build或者使用gradle-experimental

目标

  • 使用Cmake来编译OpenCV 3.1 for Android,抛开Android.mk (理论上本方法也可以用于OpenCV 2.4X)
  • 同时支持Java层的OpenCV和NDK (C++)的编译,并且都有代码提示和补全
  • 移除OpenCV Manager

1. 前期准备

这部分内容引用自这里

  • 请确保你的Android Studio的版本已经升级到2.2及以上
  • 下载ndk,在File->Settings->Appearance & Behavior -> System Settings-> Android SDK下载相应的ndk
  • 在同一个位置下载CMAKE,LLDB
    这里写图片描述

2. Java的OpenCV支持

  • 创建一个新的项目,勾选 C++支持
    这里写图片描述
  • 将OpenCV下面的java文件夹 (路径为OpenCV-android-sdk\sdk\java)作为模块导入,可能需要修改gradle的版本和minSDK版本
    这里写图片描述

  • 在主模块中加入对于OpenCV Library的依赖
    这里写图片描述

  • 现在OpenCV的Java层配置已经完成,sync一下,应该已经有代码补全了
    这里写图片描述
  • 为了愉快的使用OpenCV Library,可以直接在AndroidManifest.xml里面加入如下权限
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.CAMERA"/>

<uses-feature android:name="android.hardware.camera"
评论 18
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值