使用最新版本Android NDK-r21 编译 opencv-3.3.1 + opencv_contrib-3.3.1


由于新版本的NDK跟旧版本NDK编译的opencv存在兼容问题,所以需要使用最新的NDK重新编译opencv,方法步骤如下:
Android NDK-r21 编译 opencv-3.3.1 + opencv_contrib-3.3.1

1. sudo apt-get install cmake

2. 官网下载NDK: android-ndk-r21,SDK可以不需要.

3. 下载opencv和opencv_contrib,切换到3.3.1版本.
git clone https://github.com/opencv/opencv.git
git clone https://github.com/opencv/opencv_contrib.git
推荐更快的国内地址:
https://www.bzblog.online/wordpress/index.php/2020/03/09/opencvdownload/

4. 下载path包:
如果你要问我为什么,我只能告诉你,这个是我踩过的坑(参考:https://github.com/opencv/opencv_contrib/issues/1301).
https://github-production-repository-file-5c1aeb.s3.amazonaws.com/12756992/4520852?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20201212%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20201212T150158Z&X-Amz-Expires=300&X-Amz-Signature=63b69d60980b1e7f6828c312b27a2601fc49e758ddad57907753fc072d266a7e&X-Amz-SignedHeaders=host&actor_id=0&key_id=0&repo_id=12756992&response-content-disposition=attachment%3Bfilename%3Dpatch__.zip&response-content-type=application%2Fzip
解压到目录:
/home/gmy/disk0/xxxx/gitee/opencv/opencv-3.3.1/.cache/xfeatures2d/

5. 进入opencv源码目录,配置好相关变量路径,然后执行下面的脚本.

6. 地址: https://gitee.com/forme98/opencv_and_opencv_contrib.git

###########################################################################
#!/bin/sh

ndkdir=/home/gmy/Android/android-ndk-r21
android_toolchain_cmake=$ndkdir/build/cmake/android.toolchain.cmake
export ANDROID_NDK=/home/gmy/Android/android-ndk-r21
#arm_abi=arm64-v8a
arm_abi=armeabi-v7a
androidSdkAPI=24
opencv_contrib_dir=/home/gmy/disk0/xxxx/gitee/opencv/opencv_contrib-3.3.1/modules
opencv_dir=/home/gmy/disk0/xxxx/gitee/opencv/opencv-3.3.1

cd $opencv_dir
rm -rf build && mkdir build
cp build.sh build/
cd build/

cmake $opencv_dir -DCMAKE_TOOLCHAIN_FILE=${android_toolchain_cmake} -DANDROID_ABI=$arm_abi -DANDROID_STL=c++_static -DCMAKE_BUILD_TYPE=Release -DANDROID_NATIVE_API_LEVEL=android-$androidSdkAPI -DANDROID_PLATFORM=$androidSdkAPI -DOPENCV_EXTRA_MODULES_PATH=$opencv_contrib_dir

make -j12 && make install

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值