首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >编译OpenCV3.3源码生成Android SDK

编译OpenCV3.3源码生成Android SDK

作者头像
OpenCV学堂
发布2018-04-04 11:44:59
2.2K0
发布2018-04-04 11:44:59
举报

编译OpenCV3.3源码生成Android SDK

最近因为工作需要,需要在Android平台上编译OpenCV与其扩展模块生成Android SDK,之前因为有编译过OpenCV相关的Android NDK的项目,以为在Android平台上编译OpenCV源码很容易,花了两天的时候才完成整个编译过程,主要原因归结有一下:

  1. Android Studio上从SDK Manager下载的NDK居然缺少文件,刚开始没有意识到,浪费了不少时间,所以一定要下载离线版本,手动安装比较靠谱。
  2. 编译生成Java源代码的时候CMake一直不能检测到JAVAHOME、ANTHOME等环境变量,只能手动添加才可以,这个感觉比较坑。
  3. 当然是个人学艺不精,第一次完整编译OpenCV生成Android SDK,跟编译NDK项目有很多的不同。个人建议最好在乌班图上编译,在Windows上编译生成Android SDK比较麻烦。因为本人就是在Windows上完成编译的,下面就说说整个过程。

准备阶段

  • 下载安装JDK,如果有了就不用,配置JAVA_HOME到环境变量
  • 下载安装ANT,如果有就不用下载,配置ANT_HOME到环境变量 http://ant.apache.org/bindownload.cgi
  • 下载并解压OpenCV3.3 https://opencv.org/opencv-3-3.html
  • 下载并解压OpenCV3.3匹配的扩展模块 https://github.com/opencv/opencv_contrib/archive/3.3.0.zip
  • 下载并安装CMake https://cmake.org/download/
  • 下载并安装MinGW,编译生成,并且把C:\MinGW\bin配置到环境变量中去。
  • 下载并安装Android Studio,最新版本的SDK与NDK,配置环境变量ANDROID_NDK为安装好的NDK路径 C:/Users/zhigang/AppData/Local/Android/Sdk/ndk-bundle

CMake配置生成阶段

打开安装好的CMake-GUI,选择源码路径与编译后的保存路径。手动添加如下的实体变量。

然后点击【Configure】,选择【MinGW Makefile】,然后再选择使用toolchain-file,选择到 D:\opencv-3.3\opencv\sources\platforms\android\android.toolchain.cmake。然后点击【Finish】就会生成配置,生成之后uncheck选项WITH_CAROTENE然后点击【Generate】。如果一切都好,你就会看到你的Java相关选项的支持生成

如果你看到上面的java wrappers是NO,说明你没有正确生成配置,这样就不会生成OpenCV4Android 的Java SDK。只会生成一堆*.a与*.so文件而已。

运行完之后显示如下

生成SDK阶段

打开你的cmd命令行,然后修改本地目录如下:

然后输入mingw-make回车之后就会开始执行编译生成

最终生成完成之后,再次输入如下命令行执行install步骤:

完成之后到install目录即可看到

下面就可以导入到Android Studio中正常使用了。关于如何在Android Studio中配置与使用OpenCV4Android SDK参见这里: http://blog.csdn.net/jia20003/article/details/53126321

最后,我之所以选择这张图像做封面,是因为编译OpenCV生成OpenCV4Android Java SDK是一件让人崩溃的事情,特别是在Windows平台下,但是值得所有学习与使用OpenCV的开发者挑战。最近事情比较多,公众号更新少了点,希望大家继续支持,我会持续更新!

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2017-11-27,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 OpenCV学堂 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 编译OpenCV3.3源码生成Android SDK
  • 准备阶段
  • CMake配置生成阶段
  • 生成SDK阶段
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档