基于android的opencv4.0.1+opencv_contrib4.0.1编译

上篇说到从 https://opencv.org/releases.html 上可以下载到最新版的 OpenCV-android-sdk 但是由于从3.0版本开始,用于图像特征匹配的一些算法(比如SIFT,SURF,BRIEF,FREAK等)被转移到了opencv_contrib项目的xfeatures2d模块中。需要使用这些算法的同学请从 github上 下载 opencv_contrib和opencv 编译成Android需要的sdk 过程如下:

1 准备所需的工具 和 library

opencv 3.3.1
git clone https://github.com/opencv/opencv.git

opencv_contrib
git clone https://github.com/opencv/opencv.git

CMake
brew install cmake ninja ant

ndk

Android-sdk

2 指定一个存放sdk的文件夹

本人在 opencv目录下创建了build文件夹存放编译后的sdk

cd ~/opencv/ & mkdir build

3 执行opencv提供的编译脚本

脚本位置:

cd ~/opencv/platforms/android

执行脚本

./build_sdk.py --ndk_path ~/android-ndk-r10e --sdk_path ~/Library/Android/sdk --extra_modules_path ~/opencv_contrib/modules ~/opencv/build ~/opencv

其实这样虽然把opencv_contrib编译进来了 但是xfeatures2d模块在jni中是不能直接调用的:

需要修改 ~/opencv/platforms/android/android.toolchain.cmake 设置

你可能感兴趣的:(基于android的opencv4.0.1+opencv_contrib4.0.1编译)