android4.0 opencv,基于android的opencv4.0.1+opencv_contrib4.0.1编译
时间: 2023-11-07 22:51:44 浏览: 210
要基于 Android 的 OpenCV 4.0.1 和 OpenCV Contrib 4.0.1 进行编译,可以按照以下步骤进行:
1. 下载 OpenCV 4.0.1 和 OpenCV Contrib 4.0.1 的源代码:
```
git clone https://github.com/opencv/opencv.git
cd opencv
git checkout 4.0.1
cd ..
git clone https://github.com/opencv/opencv_contrib.git
cd opencv_contrib
git checkout 4.0.1
```
2. 安装 Android NDK 和 Android SDK,并设置相应的环境变量。
3. 在 opencv 目录下创建一个 build 目录,并进入该目录:
```
mkdir build
cd build
```
4. 运行以下命令,生成 OpenCV Android 库:
```
cmake -DANDROID_ABI=armeabi-v7a \
-DANDROID_PLATFORM=android-21 \
-DANDROID_TOOLCHAIN=clang \
-DANDROID_STL=c++_static \
-DWITH_OPENCL=OFF \
-DWITH_IPP=OFF \
-DWITH_TBB=OFF \
-DWITH_MATLAB=OFF \
-DWITH_CUDA=OFF \
-DWITH_GTK=OFF \
-DBUILD_opencv_apps=OFF \
-DBUILD_ANDROID_EXAMPLES=OFF \
-DBUILD_ANDROID_PROJECTS=OFF \
-DBUILD_DOCS=OFF \
-DBUILD_EXAMPLES=OFF \
-DBUILD_PACKAGE=OFF \
-DBUILD_PERF_TESTS=OFF \
-DBUILD_TESTS=OFF \
-DOPENCV_EXTRA_MODULES_PATH=../../opencv_contrib/modules \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_TOOLCHAIN_FILE=../../android.toolchain.cmake \
../
```
其中,`ANDROID_ABI` 表示 Android 平台架构,这里设置为 `armeabi-v7a`,表示 ARMv7 架构;`ANDROID_PLATFORM` 表示 Android 平台版本,这里设置为 `android-21`;`ANDROID_TOOLCHAIN` 表示使用的工具链,这里设置为 `clang`;`ANDROID_STL` 表示使用的 C++ 标准库,这里设置为 `c++_static`,表示静态链接;`WITH_OPENCL`、`WITH_IPP`、`WITH_TBB`、`WITH_MATLAB`、`WITH_CUDA`、`WITH_GTK` 分别表示是否启用 OpenCL、IPP、TBB、MATLAB、CUDA、GTK 等功能,这里都设置为 `OFF`;`BUILD_opencv_apps`、`BUILD_ANDROID_EXAMPLES`、`BUILD_ANDROID_PROJECTS`、`BUILD_DOCS`、`BUILD_EXAMPLES`、`BUILD_PACKAGE`、`BUILD_PERF_TESTS`、`BUILD_TESTS` 分别表示是否编译 OpenCV 应用程序、Android 示例、Android 项目、文档、示例、打包、性能测试、测试,这里都设置为 `OFF`;`OPENCV_EXTRA_MODULES_PATH` 表示 OpenCV Contrib 目录的路径;`CMAKE_BUILD_TYPE` 表示编译类型,这里设置为 `Release`;`CMAKE_TOOLCHAIN_FILE` 表示使用的交叉编译工具链文件。
5. 运行以下命令,编译生成 OpenCV Android 库:
```
make -j4
```
其中,`-j4` 表示使用 4 个核心进行编译。
6. 在 build 目录下会生成一个 `sdk` 目录,其中包含编译好的 OpenCV Android 库。
可以将该库导入到 Android Studio 中,然后在项目中使用该库提供的函数进行开发。
阅读全文