编译OpenCV3.3源码生成Android SDK
Posted OpenCV学堂
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了编译OpenCV3.3源码生成Android SDK相关的知识,希望对你有一定的参考价值。
编译OpenCV3.3源码生成android SDK
最近因为工作需要,需要在Android平台上编译OpenCV与其扩展模块生成Android SDK,之前因为有编译过OpenCV相关的Android NDK的项目,以为在Android平台上编译OpenCV源码很容易,花了两天的时候才完成整个编译过程,主要原因归结有一下:
Android Studio上从SDK Manager下载的NDK居然缺少文件,刚开始没有意识到,浪费了不少时间,所以一定要下载离线版本,手动安装比较靠谱。
编译生成Java源代码的时候CMake一直不能检测到JAVAHOME、ANTHOME等环境变量,只能手动添加才可以,这个感觉比较坑。
当然是个人学艺不精,第一次完整编译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学堂】
长按或者扫码下面二维码即可关注
以上是关于编译OpenCV3.3源码生成Android SDK的主要内容,如果未能解决你的问题,请参考以下文章
如何编译 netty 源码并导入android studio
android源码编译错误,求指点: out/target/product/generic/obj/lib/libcamera.so', nee