在Ubuntu上编译opencv 2.4.13源码支持android平台操作步骤

18 篇文章 3 订阅

之前在https://blog.csdn.net/fengbingchun/article/details/96430706中编译过opencv源码用于海思平台,这里通过修改脚本编译opencv 2.4.13.6源码,使其支持android平台。

1. 从https://github.com/opencv/opencv/releases下载opencv 2.4.13.6源码;

2. 调整opencv-2.4.13.6/CMakeLists.txt,在其最前面添加语句:add_definitions(-DANDROID);

3. 修改后的脚本build.sh内容如下:

#! /bin/bash

cmake -G"Unix Makefiles" \
	-DCMAKE_BUILD_TYPE=RELEASE \
	-DCMAKE_C_COMPILER=/opt/__android-ndk-r14b/gcc/android-21/android-aarch64/bin/aarch64-linux-android-gcc \
	-DCMAKE_CXX_COMPILER=/opt/__android-ndk-r14b/gcc/android-21/android-aarch64/bin/aarch64-linux-android-g++ \
	-DANDROID=ON \
	-DANDROID_ABI="arm64-v8a" \
	-DANDROID_ARM_MODE="arm64" \
	-DANDROID_PLATFORM="android-19" \
	-DANDROID_TOOLCHAIN="gcc" \
	-DBUILD_SHARED_LIBS=ON \
	-DCMAKE_CXX_FLAGS=-fPIC \
	-DCMAKE_C_FLAGS=-fPIC \
	-DENABLE_PIC=ON \
	-DWITH_1394=OFF \
	-DWITH_ARAVIS=OFF \
	-DWITH_ARITH_DEC=ON \
	-DWITH_ARITH_ENC=ON \
	-DWITH_CLP=OFF \
	-DWITH_CUBLAS=OFF \
	-DWITH_CUDA=OFF \
	-DWITH_CUFFT=OFF \
	-DWITH_FFMPEG=ON \
	-DWITH_GSTREAMER=ON \
	-DWITH_GSTREAMER_0_10=OFF \
	-DWITH_HALIDE=OFF \
	-DWITH_HPX=OFF \
	-DWITH_IMGCODEC_HDR=ON \
	-DWITH_IMGCODEC_PXM=ON \
	-DWITH_IMGCODEC_SUNRASTER=ON \
	-DWITH_INF_ENGINE=OFF \
	-DWITH_IPP=OFF \
	-DWITH_ITT=OFF \
	-DWITH_JASPER=ON \
	-DWITH_JPEG=ON \
	-DWITH_PNG=ON \
	-DWITH_LAPACK=ON \
	-DWITH_LIBREALSENSE=OFF \
	-DWITH_NVCUVID=OFF \
	-DWITH_OPENCL=OFF \
	-DWITH_OPENCLAMDBLAS=OFF \
	-DWITH_OPENCLAMDFFT=OFF \
	-DWITH_OPENCL_SVM=OFF \
	-DWITH_OPENEXR=OFF \
	-DWITH_OPENGL=OFF \
	-DWITH_OPENMP=OFF \
	-DWITH_OPENNNI=OFF \
	-DWITH_OPENNNI2=OFF \
	-DWITH_OPENVX=OFF \
	-DWITH_PROTOBUF=OFF \
	-DWITH_PTHREADS_PF=ON \
	-DWITH_PVAPI=OFF \
	-DWITH_QT=OFF \
	-DWITH_QUIRC=OFF \
	-DWITH_TBB=OFF \
	-DWITH_TIFF=ON \
	-DWITH_VULKAN=OFF \
	-DWITH_WEBP=ON \
	-DWITH_XIMEA=OFF \
	-DWITH_GTK=ON \
	-DINSTALL_C_EXAMPLES=OFF \
	-DINSTALL_PYTHON_EXAMPLES=OFF \
	-DBUILD_EXAMPLES=OFF \
	-DBUILD_TESTS=OFF \
	-DBUILD_PERF_TESTS=OFF \
	-DCMAKE_INSTALL_PREFIX=./install \
	..

4. 终端定位到opencv-2.4.13.6目录下,依次执行如下命令:

mkdir build
cd build
cp ../build.sh .
./builld.sh
make -j8
make install

执行后的结果如下图所示:

注意:以上脚本是编译aarch64,如果编译armv7,则需对应修改以下几条语句即可:

-DANDROID_ABI="armeabi-v7a" \
-DANDROID_ARM_MODE="arm" \

-DCMAKE_C_COMPILER=/opt/__android-ndk-r14b/gcc/android-21/android-armv7/bin/arm-linux-androideabi-gcc \
-DCMAKE_CXX_COMPILER=/opt/__android-ndk-r14b/gcc/android-21/android-armv7/bin/arm-linux-androideabi-g++ \

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值