OpenCV介绍:其他平台——基于 ARM 的 Linux 系统的交叉编译 OpenCV v4.8.0

上一个教程在 MacOS 中安装

下一个教程 : 使用 CUDA 为 Tegra 构建 OpenCV

原作者Alexander Smorkalov
兼容性OpenCV >= 3.0

警告
本教程可能包含过时信息。

本步骤在 Ubuntu Linux 12.04 上进行了测试,但也适用于其他 Linux 发行版。其他发行版的软件包名称和交叉编译工具名称可能有所不同。在 ARM 平台上有几种流行的 EABI 版本。本教程是针对 gnueabi 和 gnueabihf 编写的,但其他版本只需稍作改动即可运行。

前提条件

  • 装有 Linux 的主机;
  • Git;
  • CMake 2.6 或更高版本;
  • ARM 交叉编译工具:gcc、libstc++ 等。根据目标平台,您需要选择 gnueabi 或 gnueabihf 工具。安装 gnueabi 的命令
sudo apt-get install gcc-arm-linux-gnueabi

gnueabihf 的安装命令

sudo apt-get install gcc-arm-linux-gnueabihf
  • pkgconfig;
  • 主机系统的 Python 2.6;
  • [可选] 用于 armeabi(hf) 的 ffmpeg 或 libav 开发包:libavcodec-dev、libavformat-dev、libswscale-dev;
  • [可选] GTK+2.x 或更高版本,包括头文件(libgtk2.0-dev),用于 armeabi(hf);
  • [可选] libdc1394 2.x;
  • [可选] libjpeg-dev、libpng-dev、libtiff-dev、libjasper-dev,用于 armeabi(hf)。

获取 OpenCV 源代码

您可以使用 sourceforge 中的最新稳定 OpenCV 版本,也可以从我们的 Git 代码库中获取最新快照。

获取最新的稳定 OpenCV 版本

  • 访问我们在 Sourceforge 上的页面;
  • 下载源代码压缩包并解压。

从 Git 仓库获取最新版 OpenCV

启动 Git 客户端并克隆 OpenCV 仓库

在 Linux 中,可在终端中执行以下命令:

cd ~/<my_working _directory>
git clone https://github.com/opencv/opencv.git

构建 OpenCV

  1. 创建一个构建目录,使其成为当前目录,然后运行以下命令:
cmake [< 一些可选参数>] -DCMAKE_TOOLCHAIN_FILE=< OpenCV 源代码目录路径>/platforms/linux/arm-gnueabi.toolchain.cmake<OpenCV源代码目录路径>

工具链默认使用 gnueabihf EABI 约定。添加 -DSOFTFP=ON cmake 参数以打开 softfp 编译器。

cmake [<some optional parameters>] -DSOFTFP=ON -DCMAKE_TOOLCHAIN_FILE=<Path to the OpenCV source directory>/platforms/linux/arm-gnueabi.toolchain.cmake <path to the OpenCV source directory> 指定 OpenCV 源代码目录的路径>

例如

cd ~/opencv/platforms/linux
mkdir -p build_hardfp
cd build_hardfp
cmake -DCMAKE_TOOLCHAIN_FILE=.../arm-gnueabi.toolchain.cmake ... /..
  1. 在 build (<cmake_binary_dir>) 目录中运行 make:
make

注意事项
您可以选择通过 install/strip make target
从创建的库中删除符号信息。该选项会生成更小的二进制文件(小两倍),但会增加进一步调试的难度。

启用硬件优化

根据目标平台架构的不同,可以使用不同的指令集。默认情况下,编译器为 armv5l 生成的代码不包含 VFPv3 和 NEON 扩展。在 cmake 命令行中添加 -DENABLE_VFPV3=ON 可为 VFPv3 生成代码,添加 -DENABLE_NEON=ON 可使用 NEON SIMD 扩展。

多核 ARM SoC 也支持 TBB。添加 -DWITH_TBB=ON 和 -DBUILD_TBB=ON 即可启用。使用 Cmake 脚本从项目官方网站 http://threadingbuildingblocks.org/ 下载 TBB 源代码并编译。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值