首先完成寻迹功能我需要在树莓派上配置opencv,在配置opencv时,我所使用的设备如下:
因为树莓派在刷系统时根分区不会使用剩余的SD卡空间吗,为避免空间浪费,所以我们要扩展下根分区至整个SD卡
登录树莓派,Ctrl+Alt+T打开终端,执行sudo raspi-config
选择第7项Advanced Options高级选项
选择第1项Expand Filesystem扩展文件系统.
重启
sudo reboot
df -h
树莓派的默认下载源是国外的,下载很慢,所以我更换使用清华的下载源
使用nano编辑器打开
sudo nano /etc/apt/sources.list
在结尾添加下列文本
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命令查询自己系统版本,选择适合自己的
先按键盘上的ctrl+o,再按回车保存,再按ctrl+x退出nano编辑器回到命令行界面
在结尾添加下列文本
deb http://mirrors.tuna.tsinghua.edu.cn/raspberrypi/ buster main ui
deb-src http://mirrors.tuna.tsinghua.edu.cn/raspberrypi/ buster main ui
先按键盘上的ctrl+o,再按回车保存,再按ctrl+x退出nano编辑器回到命令行界面
r如果系统更新源和软件更新源都更改了,那么就没问题了,很快的
sudo apt-get update
sudo apt-get upgrade
为加速 Pythonpip 安装速度,特更改 Python 软件源
打开树莓派命令行,输入下面命令:
pipconfigsetglobal.index-urlhttps://pypi.tuna.tsinghua.edu.cn/simple
pipinstallpip-U
sudo reboot
切换清华源之后,你可能会遇到打开文件管理器闪退的情况,这是由于异常断电造成的,
修复方式如下:
输入命令
sudo apt full-upgrade
在升级软件包时自动处理依赖关系
sudo reboot
重启
重启后正常了
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
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即可
cd /home/pi/Downloads
unzip opencv-3.4.0.zip
unzip opencv_contrib-3.4.0.zip
切换到解压目录
创建build文件夹
进入该文件夹
cd /home/pi/Downloads/opencv-4.1.0
mkdir build
cd build
注意,接下来的是一整条命令,仅需更改你的路径即可
最后的那两个点不要忘了
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 \
..
输入命令:
make
接下里就是漫长的等待了,正常要5个小时
注意:
在此期间,树莓派要供电充足,不要运行其它任务,以免因为内存不够报错。
按照下列方式修改后继续输入make命令编译即可
错误原因:
文件中的路径有问题,需要根据报错信息,打开相应的文件夹,修改相应行数的代码,添加相应的文件。
解决方式:
由于这样的错误在编译时会多次出现,以此截图为例,说明如何解决这一类错误。
报错信息显示
打开蓝色划线地址的文件,查看第51行,修改代码如下
然后从/home/pi/…/opencv_4.1.0/modules/features2d/test文件夹中找到所缺少的文件
将其拷贝到/home/pi/…/opencv_contrib/modules/xfeatures2d/test文件夹中即可继续编译
编译成功截图
sudo make install
python3
import cv2
cv2.__version__
每次配置opencv感觉都是一场煎熬,但是好在有很多的大佬愿意分享自己的经验,所以我才可以很快的完成这些,下面是我所参考的文章
树莓派更换清华源
树莓派3B/3B+和4B安装OpenCV教程 (详细教程)
wget断点续传
安装opencv踩坑
树莓派4B 安装opencv完整教程基于python3(各种错误解决)
树莓派4B打开文件管理器时闪退的问题
树莓派 OpenCV3.4.1 安装血泪史,分享如何规避各种坑
树莓派4B安装opencv错误大全
/etc/apt/sources.list 详解