Ubuntu 16.04交叉编译安装opencv4.4.0

 

环境

操作系统:Ubuntu 16.04

OpenCv版本:4.4.0

交叉工具链:aarch64-linux-gnu-gcc,gcc version 6.2.1

 

获取OpenCV源代码
这里推荐大家到网上找OpenCV的Linux版本安装包(.tar.gz结尾),不要github上clone(clone下来的没编译通过)

https://github.com/opencv/opencv/releases/tag/4.4.0

选择tar.gz源码 

 

安装依赖库

#安装cmake
$ sudo apt-get install -y cmake

#安装图形化配置工具
$ sudo apt-get install cmake-qt-gui

安装交叉编译工具:

解压压缩包到/usr/local/arm/目录下

$ tar -zxvf gcc-linaro-6.2.1-2016.11-x86_64_aarch64-linux-gnu.tgz -C  /usr/local/arm/

下面的一句添加到"~/.bashrc"的最后
export PATH=$PATH:/usr/local/arm/gcc-linaro-6.2.1-2016.11-x86_64_aarch64-linux-gnu/bin
$ source ~/.bashrc

检测是否安装成功
aarch64-linux-gnu-gcc -v


编译源代码

新建build目录

$ cd opencv4.4.0/
创建build目录用于存放编译好的配置文件等信息 
$ mkdir build   

配置工具链

终端输入以下命令

cmake-gui

输入命令后弹出工具链配置界面

 

Where is the source code对应opencv的文件夹,

Where to build the binaries对应opencv存放编译好的配置文件等信息的文件夹

点击Configure,弹出编译方式选择对话框

点击Next

Operating System 输入Linux 

Processor 输入 arm 

C 路径:/usr/local/arm/aarch64-linux-gnu-gcc

C++路径:/usr/local/arm/aarch64-linux-gnu-g++

Target Root输入:/usr/local/arm/gcc-linaro-6.2.1-2016.11-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/lib

点击Finish
Search位置输入ZLIB, 把BUILD_ZLIB库选中(不选择会报错)

Search位置输入PNG, 把BUILD_PNG库选中(不选择会报错)

Search位置输入install,修改下opencv编译后存放的目录路径CMAKE_INSTALL_PREFIX

点击Configure

可能会报错“ADE: Download: v0.1.1f.zip”

参考https://blog.csdn.net/wzw_2008/article/details/106944407

点击Generate

进入build目录,执行编译

cd build
make -j8

编译过程中可能报错“fatal error: zlib.h: No such file or directory #include “zlib.h”

对于opencv4.0.0,修改最顶层的CMakeList.txt,找到ocv_include_directories(${OPENCV_CONFIG_FILE_INCLUDE_DIR}),并在下面添加:

ocv_include_directories(./3rdparty/zlib)
再次编译可能会报错“libopencv_imgcodecs.so.4.1.0: undefined reference to png_init_filter_functions_neon“

修改opencv4.4.0/3rdparty/libpng/CMakeLists.txt,在最前面添加

SET(ARM 1)
SET(ENABLE_NEON 1)

等待编译完成安装:

sudo make install

参考:

https://www.jianshu.com/p/0fcdce428d8f

https://blog.csdn.net/qq_35571432/article/details/109549159

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值