树莓派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卡
-
登录树莓派,Ctrl+Alt+T打开终端,执行sudo raspi-config
-
选择第7项Advanced Options高级选项
-
选择第1项Expand Filesystem扩展文件系统.
-
重启
sudo reboot
- 查看磁盘是否已经扩展
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命令查询自己系统版本,选择适合自己的
(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文件
- 错误截图:
- 错误原因:
由于官方所给的那两个包不全,会缺少,所以我们把缺少的文件放进去就好了:
下载链接中的文件:
链接:https://pan.baidu.com/s/10gSibFoGylqqLt90wb6Psg
提取码:urpy - 解决方案:
将下载后的所有带i结尾的文件全部都拷贝到 opencv_contrib/modules/xfeatures2d/src/ 路径下即可继续make编译
b.缺少头文件
-
错误截图:
-
错误原因:
文件中的路径有问题,需要根据报错信息,打开相应的文件夹,修改相应行数的代码,添加相应的文件。 -
解决方式:
由于这样的错误在编译时会多次出现,以此截图为例,说明如何解决这一类错误。
报错信息显示
打开蓝色划线地址的文件,查看第51行,修改代码如下
然后从/home/pi/…/opencv_4.1.0/modules/features2d/test文件夹中找到所缺少的文件
将其拷贝到/home/pi/…/opencv_contrib/modules/xfeatures2d/test文件夹中即可继续编译
(7) make 编译命令执行完成之后,执行安装命令,执行命令需要一分钟
编译成功截图
安装命令:
sudo make install
四、测试检验
(1) 安装好之后,在命令行中输入以下命令:
python3
import cv2
cv2.__version__
(2) Python3 环境下的 OpenCV 安装成功截图
五、参考文章
每次配置opencv感觉都是一场煎熬,但是好在有很多的大佬愿意分享自己的经验,所以我才可以很快的完成这些,下面是我所参考的文章
树莓派更换清华源
树莓派3B/3B+和4B安装OpenCV教程 (详细教程)
wget断点续传
安装opencv踩坑
树莓派4B 安装opencv完整教程基于python3(各种错误解决)
树莓派4B打开文件管理器时闪退的问题
树莓派 OpenCV3.4.1 安装血泪史,分享如何规避各种坑
树莓派4B安装opencv错误大全
/etc/apt/sources.list 详解