树莓派3B/4B编译安装opencv4.4.0

2023-11-21 11:50

本文主要是介绍树莓派3B/4B编译安装opencv4.4.0,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

手上有两块树莓派,3b和4b,都给装上了opencv4.4.0,其中3b没有装contrib,而4b装了,难度不大,但整体过程还是很浪费时间,因此做点记录,由于耗时比较长,一些失败没来得及做记录,只记录了最后成功的一些指令。
这是我用的安装包
opencv4.4.0下载地址:https://pan.baidu.com/s/1t-wv_q3pob0CL4ID9I-0Ew 提取码:jsin
contrib下载地址:https://pan.baidu.com/s/1tDePnCIiKpLWUATx-vS4wg 提取码:tuom

1、备份原源文件以及查看源版本

在树莓派命令行界面输入以下命令备份源文件

sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
sudo cp/etc/apt/sources.list.d/raspi.list/etc/apt/sources.list.d/raspi.list.bak

树莓派系统是是基于debian改造出来的, 具体型号可以通过终端输入:lsb_release -a 命令来查看自己的系统到底是 jessiestrerch 还是 buster。而对应的,只需要将下面换源的命令中相应的地方进行修改即可,一般是 buster。

2、换源

(这个源是我用过最舒服的,至少是对于本次安装而言,用的最顺手的,感谢博客)
打开/etc/apt/sources.list

deb http://mirrors.ustc.edu.cn/raspbian/raspbian/ buster main contrib non-free rpi

打开/etc/apt/sources.list.d/raspi.list这个也得改!!!

deb http://mirrors.ustc.edu.cn/archive.raspberrypi.org/debian/ buster main ui

更新源sudo apt-get update
更新软件sudo apt-get upgrade(时间可能久点,但很重要!!!一定要更新,不然opencv的依赖库安装会出现各种问题)

3.安装依赖库

sudo apt-get install build-essential cmake git pkg-config
sudo apt-get install libjpeg8-dev
sudo apt-get install libtiff5-dev
sudo apt-get install libjasper-dev
sudo apt-get install libpng12-dev
sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev
sudo apt-get install libgtk2.0-dev
sudo apt-get install libatlas-base-dev gfortran     
sudo apt-get install libopencv-dev

4.编译opencv

4.1树莓派3b

在opencv4.4.0目录下新建build目录,并进入build底下

sudo cmake -DCMAKE_BUILD_TYPE=Release -DOPENCV_GENERATE_PKGCONFIG=ON -DCMAKE_INSTALL_PREFIX=/usr/local ..
sudo make

编译时间较长,我花了一整个下午,cmake编译的选项可以自己根据需要挑选,之前尝试过打开其他选项,但编译时偶尔会出现下面的报错,但继续make仍然能继续编译,只不过到后面会出现死机,得强行断电,可能是3b性能不行,但后来使用上面的cmake,还是蛮顺利就编译通过了。
在这里插入图片描述

4.2树莓派4b

4.2.1扩容(非必要)

手上的树莓派4b性能还算好点,8G内存,比3b厉害不少,所以像模像样地根据他人教程给它扩容内存,树莓派默认内存只有100M,将其改为2048

sudo nano /etc/dphys-swapfile

在这里插入图片描述
重启dphys-swapfile服务,sudo /etc/init.d/dphys-swapfile restart

在这里插入图片描述

4.2.2 编译

同理,在opencv4.4.0目录下新建build目录,并进入build底下

sudo cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D INSTALL_C_EXAMPLES=ON -D INSTALL_PYTHON_EXAMPLES=ON -D OPENCV_EXTRA_MODULES_PATH=/home/pi/work/opencv/opencv_contrib/modules -D BUILD_EXAMPLES=ON -DCMAKE_SHARED_LINKER_FLAGS='-latomic' -D WITH_LIBV4L=ON PYTHON3_EXECUTABLE=/usr/bin/python3.7 PYTHON_INCLUDE_DIR=/usr/include/python3.7 PYTHON_LIBRARY=/usr/lib/arm-linux-gnueabihf/libpython3.7m.so PYTHON3_NUMPY_INCLUDE_DIRS=/home/pi/.local/lib/python3.7/site-packages/numpy/core/include 

如果不需要装contrib包的话,cmake指令与3b的相同

4.2.3 可能遇到的问题:

主要是由于opencv_contrib引起的,不装contrib包的应该不会遇到

  1. fatal error: boostdesc_bgm.i: No such file or directory
    #include “boostdesc_bgm.i”
    在这里插入图片描述
    解决方法,下载对应的文件,并复制到/opencv_contrib/modules/xfeatures2d/src/底下
    在这里插入图片描述

  2. fatal error: features2d/test/test_detectors_regression.impl.hpp: No such file or directory
    #include “features2d/test/test_detectors_regression.impl.hpp”
    在这里插入图片描述
    将opencv4.4.0底下的opencv-4.4.0/modules/features2d/文件夹直接复制到build文件夹底下,之后重新编译即可

参考博客

【测评】树莓派3B和4B的SoC性能比较。系统自查、工具跑分
树莓派3b+安装OpenCV成功的一些经验分享
修改树莓派系统的虚拟内存大小(SWAP)
编译OpenCV以及openc_contrib提示缺少boostdesc_bgm.i文件出错的解决

附:交叉编译(尚未成功)

交叉编译也是不错的选择,毕竟树莓派安装opencv4.4.0确实慢。安装树莓派的交叉编译工具在主机上编译,但我没成功,如果之后成功了,会进行更新

下载交叉编译工具:https://github.com/raspberrypi/tools
在/.bashrc文件中加入gcc交叉工具链环境变量。
sudo gedit ~/.bashrc
在该文件最后加入交叉工具链所在目录。

【64位系统】export PATH=$PATH:/home/chen/work/raspberrypi/tools-master/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin

source ~/.bashrc
arm-linux-gnueabihf-gcc -v(成功的话能看编译器版本信息)
编译
sudo cmake-gui(配置编译器,见下图)
sudo make -j4

在这里插入图片描述
在这里插入图片描述

可能遇到的问题(有待解决)
1、error: operator ‘&&’ has no right operand
在这里插入图片描述
解决方法:cmake-gui时去掉with tiff

2、error: #error “No suitable threading library available.”
在这里插入图片描述
打开/3rdparty/protobuf/src/google/protobuf/stubs/common.cc,并在前面添加#define HAVE_PTHREAD即可

3、未解决,放弃了
在这里插入图片描述
在这里插入图片描述

这篇关于树莓派3B/4B编译安装opencv4.4.0的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/402171

相关文章

Win安装MySQL8全过程

《Win安装MySQL8全过程》:本文主要介绍Win安装MySQL8全过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Win安装mysql81、下载MySQL2、解压文件3、新建文件夹data,用于保存数据库数据文件4、在mysql根目录下新建文件my.ini

最详细安装 PostgreSQL方法及常见问题解决

《最详细安装PostgreSQL方法及常见问题解决》:本文主要介绍最详细安装PostgreSQL方法及常见问题解决,介绍了在Windows系统上安装PostgreSQL及Linux系统上安装Po... 目录一、在 Windows 系统上安装 PostgreSQL1. 下载 PostgreSQL 安装包2.

Maven如何手动安装依赖到本地仓库

《Maven如何手动安装依赖到本地仓库》:本文主要介绍Maven如何手动安装依赖到本地仓库问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、下载依赖二、安装 JAR 文件到本地仓库三、验证安装四、在项目中使用该依赖1、注意事项2、额外提示总结一、下载依赖登

如何在Mac上安装并配置JDK环境变量详细步骤

《如何在Mac上安装并配置JDK环境变量详细步骤》:本文主要介绍如何在Mac上安装并配置JDK环境变量详细步骤,包括下载JDK、安装JDK、配置环境变量、验证JDK配置以及可选地设置PowerSh... 目录步骤 1:下载JDK步骤 2:安装JDK步骤 3:配置环境变量1. 编辑~/.zshrc(对于zsh

如何在pycharm安装torch包

《如何在pycharm安装torch包》:本文主要介绍如何在pycharm安装torch包方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录在pycharm安装torch包适http://www.chinasem.cn配于我电脑的指令为适用的torch包为总结在p

在PyCharm中安装PyTorch、torchvision和OpenCV详解

《在PyCharm中安装PyTorch、torchvision和OpenCV详解》:本文主要介绍在PyCharm中安装PyTorch、torchvision和OpenCV方式,具有很好的参考价值,... 目录PyCharm安装PyTorch、torchvision和OpenCV安装python安装PyTor

Python Transformer 库安装配置及使用方法

《PythonTransformer库安装配置及使用方法》HuggingFaceTransformers是自然语言处理(NLP)领域最流行的开源库之一,支持基于Transformer架构的预训练模... 目录python 中的 Transformer 库及使用方法一、库的概述二、安装与配置三、基础使用:Pi

idea maven编译报错Java heap space的解决方法

《ideamaven编译报错Javaheapspace的解决方法》这篇文章主要为大家详细介绍了ideamaven编译报错Javaheapspace的相关解决方法,文中的示例代码讲解详细,感兴趣的... 目录1.增加 Maven 编译的堆内存2. 增加 IntelliJ IDEA 的堆内存3. 优化 Mave

如何解决mmcv无法安装或安装之后报错问题

《如何解决mmcv无法安装或安装之后报错问题》:本文主要介绍如何解决mmcv无法安装或安装之后报错问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录mmcv无法安装或安装之后报错问题1.当我们运行YOwww.chinasem.cnLO时遇到2.找到下图所示这里3.

Python 安装和配置flask, flask_cors的图文教程

《Python安装和配置flask,flask_cors的图文教程》:本文主要介绍Python安装和配置flask,flask_cors的图文教程,本文通过图文并茂的形式给大家介绍的非常详细,... 目录一.python安装:二,配置环境变量,三:检查Python安装和环境变量,四:安装flask和flas