树莓派4B学习(1)opencv4.1.0的配置

树莓派4B学习(1)opencv4.1.0的配置

这些天帮朋友使用树莓派做一个寻迹的机器狗,所以在此立贴记录下自己的步骤,一方面方便之后回顾,另一方面希望对大家有所帮助。

文章目录

  • 树莓派4B学习(1)opencv4.1.0的配置
  • 前言
  • 一、树莓派上扩展文件系统
  • 二、更改下载源
    • 1.更改软件更新源
      • (1)编辑/etc/apt/sources.list 文件(这是软件更新源)
      • (2)在原来文本前加#进行注释,别删除,指不定用到
      • (3)保存文件
    • 2. 更改系统更新源
      • (1)编辑/etc/apt/sources.list.d/raspi.list 文件(这是系统更新源)
      • (2)保存文件
    • 3.更新软件源列表
    • 4.更改 Python 软件源
    • 5.重启
    • 6.可能遇到的问题
  • 三、安装配置opencv4.1.0
    • 1.安装OpenCV所需要依赖的工具和一些图像视频库
    • 2.下载、编译opencv
      • (1)下载命令
      • (2)安装包解压
      • (3)设置编译参数
      • (4)配置Cmake,可输出适配于树莓派平台的Makefile
      • (5)编译
        • 编译进行到70%之后,会陆续出现这样的一些错误
        • a. 缺少.i文件
        • b.缺少头文件
      • (7) make 编译命令执行完成之后,执行安装命令,执行命令需要一分钟
  • 四、测试检验
    • (1) 安装好之后,在命令行中输入以下命令:
    • (2) Python3 环境下的 OpenCV 安装成功截图
  • 五、参考文章


前言

首先完成寻迹功能我需要在树莓派上配置opencv,在配置opencv时,我所使用的设备如下:

  • 树莓派4B开发板
  • 大于16G的SD卡,这里我使用的是16G

一、树莓派上扩展文件系统

因为树莓派在刷系统时根分区不会使用剩余的SD卡空间吗,为避免空间浪费,所以我们要扩展下根分区至整个SD卡

  1. 登录树莓派,Ctrl+Alt+T打开终端,执行sudo raspi-config

  2. 选择第7项Advanced Options高级选项
    在这里插入图片描述

  3. 选择第1项Expand Filesystem扩展文件系统. 在这里插入图片描述

  4. 重启

sudo reboot
  1. 查看磁盘是否已经扩展
 df -h

二、更改下载源

树莓派的默认下载源是国外的,下载很慢,所以我更换使用清华的下载源

1.更改软件更新源

(1)编辑/etc/apt/sources.list 文件(这是软件更新源)

使用nano编辑器打开

sudo nano /etc/apt/sources.list 

(2)在原来文本前加#进行注释,别删除,指不定用到

在结尾添加下列文本

deb http://mirror.tuna.tsinghua.edu.cn/raspbian/raspbian/ buster main contrib non-free rpi
deb-src http://mirror.tuna.tsinghua.edu.cn/raspbian/raspbian/ buster main contrib non-free rpi

这一类操作注意:
链接后有buster字样,这是系统版本,网上有些更换下载源的是stretch,所以这里使用lsb_release -a命令查询自己系统版本,选择适合自己的
树莓派4B学习(1)opencv4.1.0的配置_第1张图片

(3)保存文件

先按键盘上的ctrl+o,再按回车保存,再按ctrl+x退出nano编辑器回到命令行界面

2. 更改系统更新源

(1)编辑/etc/apt/sources.list.d/raspi.list 文件(这是系统更新源)

在结尾添加下列文本

deb http://mirrors.tuna.tsinghua.edu.cn/raspberrypi/ buster main ui
deb-src http://mirrors.tuna.tsinghua.edu.cn/raspberrypi/ buster main ui

(2)保存文件

先按键盘上的ctrl+o,再按回车保存,再按ctrl+x退出nano编辑器回到命令行界面

3.更新软件源列表

r如果系统更新源和软件更新源都更改了,那么就没问题了,很快的

  • 更新软件列表
sudo apt-get update
  • 更新软件
sudo apt-get upgrade

4.更改 Python 软件源

为加速 Pythonpip 安装速度,特更改 Python 软件源

打开树莓派命令行,输入下面命令:

pipconfigsetglobal.index-urlhttps://pypi.tuna.tsinghua.edu.cn/simple
pipinstallpip-U

5.重启

sudo reboot

6.可能遇到的问题

切换清华源之后,你可能会遇到打开文件管理器闪退的情况,这是由于异常断电造成的,
修复方式如下:
输入命令

sudo apt full-upgrade

在升级软件包时自动处理依赖关系

sudo reboot

重启

重启后正常了

三、安装配置opencv4.1.0

1.安装OpenCV所需要依赖的工具和一些图像视频库

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

2.下载、编译opencv

(1)下载命令

git clone -b 4.1.0 --recursive https://github.com/opencv/opencv.git
git clone -b 4.1.0 --recursive https://github.com/opencv/opencv_contrib.git

个人建议,还是别这样下载了,链接速度太慢,常会卡死
直接从官网下载opencv即可

(2)安装包解压

cd /home/pi/Downloads
unzip opencv-3.4.0.zip
unzip opencv_contrib-3.4.0.zip

(3)设置编译参数

切换到解压目录
创建build文件夹
进入该文件夹

cd /home/pi/Downloads/opencv-4.1.0
mkdir build
cd build

(4)配置Cmake,可输出适配于树莓派平台的Makefile

注意,接下来的是一整条命令,仅需更改你的路径即可
最后的那两个点不要忘了

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/Downloads/opencv_contrib-4.1.0/modules \#本行需根据自己安装的路径修改
-D BUILD_EXAMPLES=ON \
-D WITH_LIBV4L=ON \
-D PYTHON3_EXECUTABLE=/usr/bin/python3.7 \
-D PYTHON_INCLUDE_DIR=/usr/include/python3.7 \
-D PYTHON_LIBRARY=/usr/lib/arm-linux-gnueabihf/libpython3.7m.so \
-D PYTHON3_NUMPY_INCLUDE_DIRS=/usr/lib/python3/dist-packages/numpy/core/include \
..

成功截图:
在这里插入图片描述
显示结果如上图所示,则进行下一步操作

(5)编译

输入命令:

make

接下里就是漫长的等待了,正常要5个小时

注意:
在此期间,树莓派要供电充足,不要运行其它任务,以免因为内存不够报错。

编译进行到70%之后,会陆续出现这样的一些错误

按照下列方式修改后继续输入make命令编译即可

a. 缺少.i文件

  • 错误截图
    树莓派4B学习(1)opencv4.1.0的配置_第2张图片
  • 错误原因
    由于官方所给的那两个包不全,会缺少,所以我们把缺少的文件放进去就好了:
    下载链接中的文件:
    链接:https://pan.baidu.com/s/10gSibFoGylqqLt90wb6Psg
    提取码:urpy
  • 解决方案
    将下载后的所有带i结尾的文件全部都拷贝到 opencv_contrib/modules/xfeatures2d/src/ 路径下即可继续make编译
    树莓派4B学习(1)opencv4.1.0的配置_第3张图片

b.缺少头文件

  • 错误截图
    树莓派4B学习(1)opencv4.1.0的配置_第4张图片

  • 错误原因
    文件中的路径有问题,需要根据报错信息,打开相应的文件夹,修改相应行数的代码,添加相应的文件。

  • 解决方式
    由于这样的错误在编译时会多次出现,以此截图为例,说明如何解决这一类错误。
    报错信息显示
    树莓派4B学习(1)opencv4.1.0的配置_第5张图片
    打开蓝色划线地址的文件,查看第51行,修改代码如下
    在这里插入图片描述
    然后从/home/pi/…/opencv_4.1.0/modules/features2d/test文件夹中找到所缺少的文件
    将其拷贝到/home/pi/…/opencv_contrib/modules/xfeatures2d/test文件夹中即可继续编译
    树莓派4B学习(1)opencv4.1.0的配置_第6张图片

(7) make 编译命令执行完成之后,执行安装命令,执行命令需要一分钟

编译成功截图

树莓派4B学习(1)opencv4.1.0的配置_第7张图片
安装命令:

sudo make install

四、测试检验

(1) 安装好之后,在命令行中输入以下命令:

python3
import cv2
cv2.__version__

(2) Python3 环境下的 OpenCV 安装成功截图

树莓派4B学习(1)opencv4.1.0的配置_第8张图片

五、参考文章

每次配置opencv感觉都是一场煎熬,但是好在有很多的大佬愿意分享自己的经验,所以我才可以很快的完成这些,下面是我所参考的文章
树莓派更换清华源
树莓派3B/3B+和4B安装OpenCV教程 (详细教程)
wget断点续传
安装opencv踩坑
树莓派4B 安装opencv完整教程基于python3(各种错误解决)
树莓派4B打开文件管理器时闪退的问题
树莓派 OpenCV3.4.1 安装血泪史,分享如何规避各种坑
树莓派4B安装opencv错误大全
/etc/apt/sources.list 详解

你可能感兴趣的:(#,树莓派4B学习,python,opencv,树莓派,环境配置)