opencv源码编译(基于android NDK)

一、opencv简介

OpenCV是一个基于BSD许可(开源)发行的跨平台计算机视觉库,可以运行在Linux、Windows、Android和Mac OS操作系统上。它轻量级而且高效——由一系列 C 函数和少量 C++ 类构成,同时提供了Python、Ruby、MATLAB等语言的接口,实现了图像处理和计算机视觉方面的很多通用算法。
OpenCV用C++语言编写,它的主要接口也是C++语言,但是依然保留了大量的C语言接口。该库也有大量的Python、Java and MATLAB/OCTAVE(版本2.5)的接口。这些语言的API接口函数可以通过在线文档获得。如今也提供对于C#、Ch、Ruby的支持。

二、源码下载

openc源码下载地址:
https://opencv.org/
需要依赖android NDK,下载地址:
https://developer.android.google.cn/ndk/
以及linux下camke命令安装,参考地址:
https://www.cnblogs.com/wt645631686/p/6868487.html

三、环境配置

编译源码需要依赖android NDK们需要先配置NDK的环境变量和地址,解压后在命令行中执行以下命令:

export NDK_HOME=/root/android-ndk-r14b
export PATH=$NDK_HOME:$PATH
export ANDROID_NDK=/root/android-ndk-r14b

/root/android-ndk-r14b是我本机android NDK的解压地址。

四、编译

1、进入opencv源码的解压路径文件夹:

cd /root/opencv/opencv-master

/root/opencv/opencv-master是我本机opencv源码的解压路径
2、创建build的文件夹并进入

mkdir build
cd build

3、执行编译命令

cmake -DANDROID_NDK=/root/android-ndk-r14b -DANDROID_ABI="armeabi-v7a" -DANDROID_NATIVE_API_LEVEL=android-18 -DANDROID_NO_UNDEFINED=ON -DANDROID_SO_UNDEFINED=OFF -DCMAKE_BUILD_TYPE=RELEASE -DBUILD_SHARED_LIBS=1 -DCMAKE_TOOLCHAIN_FILE=../platforms/android/android.toolchain.cmake ..

-DANDROID_NDK=/root/android-ndk-r14b :代表android NDK解压路径
-DANDROID_ABI=”armeabi-v7a” :代表armeabi-v7a系统,不同的系统请更改该参数
4、构建

make -j8

5.执行完之后,编译生成的库文件在….opencv-master/build/lib目录下

五、参考连接:

关于NDK和JDK以及SDK的区别参考以下链接:
https://blog.csdn.net/yangzhaomuma/article/details/50467825
https://blog.csdn.net/lxl584685501/article/details/45918319
源码编译参考以下链接:
https://blog.csdn.net/raynayyue/article/details/40890753

猜你喜欢

转载自blog.csdn.net/martin_chen2/article/details/80463610