本文以编译opencv3.3.0和opencv_contrib 3.3.0为例,系统为Linux x64 (Fedora 21),具体步骤如下:
1. 下载Source code zip 压缩包
从下面网址,选择opencv 3.3.0 Source code下载https://github.com/opencv/opencv/releases
从下面网址,选择下载与opencv
3.3.0对应的opencv_contrib
3.3.0
https://github.com/opencv/opencv_contrib/releases
注意:opencv和opencv_contrib版本必须保持一致,否则可能会出现编译错误。
2.下载build-opencv-for-android开源代码
$ cd /mnt/work
$ git clone https://github.com/tzutalin/build-opencv-for-android.git
$ cd build-opencv-for-android
3.解压源码包并重命名
将opencv-3.3.0.zip和opencv_contrib-3.3.0.zip都解压到下载的build-opencv-for-android开源代码 所在目录/mnt/work/build-opencv-for-android。
$ unzip opencv-3.3.0.zip -d /mnt/work/build-opencv-for-android
$unzip opencv_contrib-3.3.0.zip -d /mnt/work/build-opencv-for-android
$ cd/mnt/work/build-opencv-for-android
$mv opencv-3.3.0opencv
$mv opencv_contrib-3.3.0 opencv_contrib
4. 修改build-opencv-for-android开源代码中build-android-opencv.sh
修改内容如下:
修改 第6行代码:
declare -a ANDROID_ABI_LIST=("x86" "x86_64" "armeabi" "arm64-v8a" "armeabi-v7a" "mips" "mips64")
为
declare -a ANDROID_ABI_LIST=("armeabi-v7a")
最终代码,如下:
1 #!/bin/bash2 NDK_ROOT="${1:-${NDK_ROOT}}"
3
4 ###ABIs setup5 #declare -a ANDROID_ABI_LIST=("x86" "x86_64" "armeabi-v7a with NEON" "arm64-v8a")
6 declare -a ANDROID_ABI_LIST=("armeabi-v7a"