最近因为工作需要,需要在Android平台上编译OpenCV与其扩展模块生成Android SDK,之前因为有编译过OpenCV相关的Android NDK的项目,以为在Android平台上编译OpenCV源码很容易,花了两天的时候才完成整个编译过程,主要原因归结有一下:
打开安装好的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文件而已。
运行完之后显示如下
打开你的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的开发者挑战。最近事情比较多,公众号更新少了点,希望大家继续支持,我会持续更新!