编译opencv及opencv for android

ubuntu环境 opencv3.4.3

一:编译opencv

1、安装依赖库:sudo apt-get install build-essential libgtk2.0-dev libavcodec-dev libavformat-dev libjpeg.dev libtiff4.dev libswscale-dev libjasper-dev

2、下载opencv及contrib,mkdir build,cd build

3、cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/opt/opencv3.4.3 -DOPENCV_EXTRA_MODULES_PATH=../opencv_contrib/modules ..

4、make、make install (cmake前先查看make是否使用的是/usr/bin/make)

5、配置一些OpenCV的编译环境首先将OpenCV的库添加到路径,从而可以让系统找到 sudo gedit /etc/ld.so.conf.d/opencv.conf,只需要在文件末尾添加/opt/opencv/lib 。sudo ldconfig。

6、环境变量

在最末尾添加PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig     export PKG_CONFIG_PATH。sudo updatedb

(参看https://blog.csdn.net/cocoaqin/article/details/78163171

扫描二维码关注公众号,回复: 4051714 查看本文章
  • atal error: boostdesc_bgm.i: No such file or directory compilation terminated.

无法下载 boostdesc 和 vgg_generated 下的 boostdesc_lbgm 和 vgg_generated 文件(参看http://answers.opencv.org/question/113942/cmake-failing-with-hash-mismatch/%E4%B8%AD%E6%9C%89%E7%9B%B8%E5%BA%94%E7%9A%84   http://www.mirrorservice.org/sites/distfiles.macports.org/opencv/    https://zhuanlan.zhihu.com/p/38738976

cmake -DBUILD_opencv_xfeatures2d=OFF (https://github.com/opencv/opencv_contrib/issues/1131)

(修改cmake:cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/opt/opencv3.4.3 -DOPENCV_EXTRA_MODULES_PATH=../opencv_contrib/modules -DBUILD_opencv_world=OFF -DBUILD_opencv_xfeatures2d=OFF ..)

二:编译opencv for android

1、安装NDK(which ndk-build 查看是否安装):下载Android NDK自解压包:https://developer.android.com/ndk/downloads/index.html#download、将Android NDK压缩包解压到你想要的目录下,配置PATH路径export NDK_HOME=../android-ndk-r10e export PATH=$NDK_HOME:$PATH (参看https://blog.csdn.net/fireroll/article/details/49187269

2、安装JDK(java -version 查看是否安装):官网下载JDK文件和JRE、解压文件后配置所有用户的环境变量(参看https://www.cnblogs.com/Dylansuns/p/7599750.html

3、安装SDK(ant -version查看是否安装):在AndroidDevTools中下载SDK Tools,解压后打开环境变量配置文件,在最后加上
export ANDROID_SDK_HOME=/home/ranxf/Android/Sdk/android-sdk-linux
export PATH=$PATH:${ANDROID_SDK_HOME}/tools
export PATH=$PATH:${ANDROID_SDK_HOME}/platform-tools

把路径定位到/home/ranxf/Android/Sdk/android-sdk-linux/tools中,

运行./android文件,打开sdk manager,选择并下载需要的sdk即可。(参看https://www.cnblogs.com/ranxf/p/9112614.html

4、安装ant(ant -version是否安装):到Apache官网下载最新版本的ant:http://ant.apache.org/bindownload.cgi、 解压配置环境变量:export ANT_HOME=/opt/apache-ant-1.8.2 export PATH=$ANT_HOME/bin:$PATH。(参看https://www.linuxidc.com/Linux/2013-08/88955.htm

5、编译opencv for android:下载opencv、mkdir build_android、cd build_android、cmake -DCMAKE_TOOLCHAIN_FILE=../platforms/android/android.toolchain.cmake -DANDROID_NDK=/opt/android-ndk-r17b/ -DANDROID_ABI=arm64-v8a -DANDROID_NATIVE_API_LEVEL=22 -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/opt/opencv_android -DOPENCV_EXTRA_MODULES_PATH=../opencv_contrib/modules ..(内容参看android.toolchain.cmake和build_sdk.py)

(cmake前先查看make是否使用的是/opt/arch64-linux-android-4.9-r15c/aarch64-linux-android-4.9/bin/make)

(参看https://blog.csdn.net/minger1202/article/details/71429708

(可以使用cmake-gui,界面模式编译,编译过程中如果编译android-test时出现ant\build.xml730:compile failed;see the compiler error for details.cannot execute 'dex'-'-compile'failedor was not executed...打开CMakeLists.txt,将BUILD_ANDROID_EXAMPLES BUILD_TESTS   BUILD_PRERF_TESTS设为OFF,或者修改cmake:cmake -DCMAKE_TOOLCHAIN_FILE=../platforms/android/android.toolchain.cmake -DANDROID_NDK=/opt/android-ndk-r17b/ -DANDROID_ABI=arm64-v8a -DANDROID_NATIVE_API_LEVEL=22 -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/opt/opencv_android -DOPENCV_EXTRA_MODULES_PATH=../opencv_contrib/modules -DBUILD_opencv_world=OFF -DBUILD_opencv_xfeatures2d=OFF -DBUILD_ANDROID_EXAMPLES=OFF -DBUILD_PERF_TESTS=OFF -DBUILD_TESTS=OFF ..

猜你喜欢

转载自blog.csdn.net/wangyingjun123/article/details/82380044