树莓派相关(1):树莓派4安装OpenCV4.1.1从零开始全过程


笔者在2019年双十一入手了树莓派4b,当然我自己也是新手,想在计算机视觉做点东西时,但在安装OpenCV上面却爬了不少坑,因此特地总结了一下,希望能帮助那些利用树莓派4b+OpenCV 4.1.1的maker。前面的准备内容可以跳过,主要针对新手,网上挺多教程的。

一、 准备

笔记本(笔者没买专用的显示屏)、网线(SSH连接)
树莓派4b(4G内存版本)、32G的tf卡(安装系统)、树莓派的电源适配器(5V、3A)

1.1 给树莓派开发板安装镜像

我们这里假设tf卡是一张空白的内存卡。介绍这些步骤,是因为我当时经常出问题,有时候没别的办法,就只能重装系统。

1.1.1 格式化tf卡

我用的是买树莓派时卖家给的软件SD Formatter 4.0。格式化完成后,存储大小就会由256M变成正常大小。
在这里插入图片描述

1.1.2 给tf卡安装系统

我用的是买树莓派时卖家给的软件Win32DiskImager-0.9.5-binary。导入系统镜像,再点击write。这个系统镜像在国内从官网上下载非常慢,还容易失败。图中版本的系统的百度云
链接:https://pan.baidu.com/s/1pW4xZg6PpCMdi1RShBIBhw
提取码:chfs
在这里插入图片描述

1.1.3 给tf卡添加SSH文件或SSH文件夹

进行SSH连接时,要么建立SSH文件夹,要么建立SSH文本文档,不过需要将.txt后缀去掉
在这里插入图片描述

1.2 通过网线进行树莓派和笔记本的SSH连接

相当于就是笔记本与树莓派通过网线连接。笔记本连接WiFi,更改无线网络设置(可以百度一下),使笔记本无线网络与树莓派进行网络共享。

1.2.1 网络设置

在这里插入图片描述

1.2.2 SSH连接

首先IP扫描。这个Advanced IP Scanner软件比在cmd中的敲arp -a命令好用。
在这里插入图片描述
然后,用putty连接。将IP地址输入进去点击下面Open即可。进入之后,输入登陆用户名pi,密码raspberry
在这里插入图片描述

1.3 基本设置

1.3.1 中文设置

进入配置界面

sudo raspi-config

进入第4项 Location options
然后,选择第1项
在这里插入图片描述
将显示语言设置为中文。需要注意的是,按下空格键,出现括号里面出现"星",才算被选中。然后回车,选择zh_CN.UTF-8那一项。
在这里插入图片描述在这里插入图片描述

1.3.2 开关设置

进入第5项Interfacing Options,打开摄像头、SSH、VNC(这三个必须的)等。即每项进入后,进行使能enable,确认
在这里插入图片描述

1.3.3 显示设置和扩容

进入第7项Advanced Options
然后再进入第5项Resolution ,如果不设置这一项,VNC不显示桌面。我选的是85那个,网上说,只要不是第一个就行。
在这里插入图片描述
接着,扩展一下容量。进入第7项Advanced Options,再进入第1项
在这里插入图片描述
查看容量可用df -h命令。
接着输入如下命令进行重启。

sudo reboot

二、 给树莓派安装OpenCV4.1.1

2.1.一些可能遇到的问题

2.1.1 建议32G空间以上的tf卡

笔者用过16Gtf卡,结果编译到81%时,tf卡空间不足了。
在这里插入图片描述
32Gtf卡安装opencv完成后,仅剩13.5G。
在这里插入图片描述

2.1.2 VNC文件管理对话框闪退

VNC桌面,有时候点文件管理的时候,文件管理对话框可能闪退,解决办法如下:

sudo apt-get install --reinstall pcmanfm

2.1.3 虚拟内存(重要)

不修改的话,可能后面会编译到一半闪退,查看虚拟内存

free

在这里插入图片描述

sudo nano /etc/dphys-swapfile

更改虚拟内存,将100改成2048,如下图所示。记得Ctrl+O ,Enter,Ctrl+X
在这里插入图片描述
重启相关服务

sudo service dphys-swapfile restart

再用free命令查看
在这里插入图片描述

2.2 摄像头Picamera

查看摄像头启动成功没

vcgencmd get_camera

如下图显示,则表示设置成功
在这里插入图片描述

2.3 更换国内源(非常重要)

本小节参考的博客
链接:https://blog.csdn.net/zqxdsy/article/details/102574239
不换源的话,直接使用官网源,下载速度真的慢,还不一定下得全,会导致各种出错。

首先,更换软件源

sudo nano /etc/apt/sources.list

将原来的地址用“#”注释掉,换成清华源(也可以换成其他源,比如中科大源),用下面内容替代。接着Ctrl+O,回车, Ctrl+X退出

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

在这里插入图片描述
还要更换系统源

sudo nano /etc/apt/sources.list.d/raspi.list

用#注释掉原文件内容,用以下内容取代,然后Ctrl+O回车 Ctrl+X:

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

在这里插入图片描述

2.4 更新

sudo apt-get update

在这里插入图片描述

sudo apt-get upgrade

过程中需要有的地方需要按y,按下y即可;还有的地方需要press q就按下q好了
在这里插入图片描述

2.5 安装numpy

sudo pip3 install numpy

2.6 安装依赖包

sudo apt-get install build-essential cmake git 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(注意最后一个包的数字“4”后面是“L”)
sudo apt-get install libgtk2.0-dev -y
sudo apt-get install libatlas-base-dev gfortran -y

注意:如果每一条命令执行完后,如果出现未完成情况,就重新执行一次,否则到了后面编译步骤,会因为依赖包未下载完整而出错

2.7 下载两个OpenCV压缩文件

下载两个压缩包到树莓派的/home/pi/Downloads目录下,有以下几种方法:
(我用的方法三,两个压缩包的百度网盘
链接:https://pan.baidu.com/s/1SqHJwRkKqoRsmDP-gZ9hEg
提取码:3swp)
1)法一:

cd /home/pi/Downloads
wget https://github.com/Itseez/opencv/archive/3.4.0.zip
wget https://github.com/Itseez/opencv_contrib/archive/3.4.0.zip

下载之后,把第一个压缩包重新命名为opencv-3.4.0.zip,把第二个压缩包重新命名为opencv_contrib-3.4.0.zip

2)法二:Vnc进去运行:(用git工具clone到所需目录可能出错)

git clone https://github.com/opencv/opencv.git 
git clone https://github.com/opencv/opencv_contrib.git

3)法三:直接访问网址

https://github.com/Itseez/opencv/archive/4.1.1.zip
https://github.com/Itseez/opencv_contrib/archive/4.1.1.zip

4)法四:
访问https://opencv.org/releases/ 从github下载,这个网址可以知道最新版本

5)法五:
使用Xftp 6 连接树莓派,用户就是IP地址,把压缩包拖到树莓派的/home/pi/Downloads目录下,这个方法最简单,便捷。
Xftp 6 下载网址:

https://www.netsarang.com/zh/downloading/?token=MHlpUm9TTnVISDRmZzJrTW1XN2U1d0BvTWZkSlIzY3dMUnFrcERIR0ZVdHpR

因为我用的法三,利用软件File Zilla,在右侧树莓派home/pi目录下创建Downloads文件夹并打开,将左侧笔记本上两个压缩包传输到home/pi/Downloads目录下
在这里插入图片描述

2.8 解压两个OpenCV压缩文件

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

2.9 设置编译参数

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

2.10 设置CMAKE参数

注意:检查所有PATH路径是否在你本地存在,以下是我的树莓派的路径
注意,下面这是一行命令(包括最后那俩点儿),需要耐心等待十五分钟左右

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.1/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 ..

在这里插入图片描述

2.11.编译

cd /home/pi/Downloads/opencv-4.1.1/build
make

注意:保证树莓派有至少5G的存储空间,建议本命令用树莓派桌面上的命令行工具运行,而不要使用无线远程ssh连接。因为执行命令时间太长,中途如果ssh断线的话无法得知是否已经安装完毕。
注意:静待五个小时的编译。注意,在此期间,树莓派要供电充足,不要运行其它任务,以免因为内存不够什么的幺蛾子报错。

2.12 编译中会出现的报错

2.12.1 有可能遇到的报错

有的错误是因为前面你的网速或者其他原因导致在步骤2.4中sudo apt-get upgrade更新不完整,也有可能是步骤2.6中,有些依赖包未下载完整
解决办法:重新回到步骤2.4,再进行一次

2.12.2 遇到的报错1

我遇到的这几个报错的解决办法是参考链接博客:https://blog.csdn.net/qq_43762614/article/details/102760414
在这里插入图片描述
解决办法:将以下百度网盘里的文件复制到/home/pi/Downloads/opencv_contrib-4.1.1/modules/xfeatures2d/src 路径

链接:https://pan.baidu.com/s/1m1K272GEzC89z61RWltLLA
提取码:kqkq
在这里插入图片描述
接着继续

make

2.12.3 遇到的报错2

opencv_contrib-4.1.1某个cpp类型文件中缺少头文件,在该文件夹找不到
在这里插入图片描述
解决办法:
第一步,在VNC文件管理中/home/pi/Downloads/opencv-4.1.1/modules/features2d/test路径下,下面两个文件进行复制
在这里插入图片描述
第二步,将上面两个文件粘贴到/home/pi/Downloads/opencv_contrib-4.1.1/modules/xfeatures2d/test路径下
在这里插入图片描述
第三步,打开下面这个文件
在这里插入图片描述
在这里插入图片描述
第四步,将头文件引用改成下图所示
在这里插入图片描述
接着继续

make

2.12.4 遇到的报错3

也是头文件缺失
在这里插入图片描述
解决办法:同样的步骤
第一步,复制
在这里插入图片描述
第二步,粘贴
在这里插入图片描述
第三步,打开下面文件
在这里插入图片描述
在这里插入图片描述
第四步,修改头文件引用
在这里插入图片描述

接着继续

make

2.12.5 遇到的报错4

在这里插入图片描述
解决办法:同样的操作
第一步,复制
在这里插入图片描述
第二步,粘贴
在这里插入图片描述
第三步,打开下面文件
在这里插入图片描述
第四步,添加头文件引用(前面是修改,这个是需要添加)
在这里插入图片描述

2.13 make

接下来的编译就没遇到问题了
在这里插入图片描述

cd /home/pi/Downloads/opencv-4.1.1/build
sudo make install

2.14 测试

cd ~
python3
import cv2

出现如下界面,则表示安装成功
在这里插入图片描述

结语:好了,安装过程就到这里了,反正遇到问题,多思考,多查资料,现在网络这么发达,总能找到解决办法的,感谢各位大佬的帮助

下一篇:树莓派相关(2):树莓派实现目标检测识别(树莓派4+opencv4.1.1+tensorflow1.14.0+ssd_mobilenet_v1_coco)

  • 28
    点赞
  • 169
    收藏
    觉得还不错? 一键收藏
  • 21
    评论
### 回答1: 在 Ubuntu 上安装 OpenCV 4.1.1 非常简单,首先,打开终端,然后输入以下命令:sudo apt-get install libopencv - dev,这将安装最新的 OpenCV 版本。接下来输入:sudo apt - get install libopencv4.1,这将安装 OpenCV 4.1.1 版本。安装完成后,就可以在 Ubuntu 上使用 OpenCV 4.1.1 了。 ### 回答2: 在Ubuntu上安装OpenCV 4.1.1,你可以按照以下步骤进行操作: 1. 更新系统: 打开终端,运行以下命令来更新系统软件包: ``` sudo apt update sudo apt upgrade ``` 2. 安装依赖项: 运行以下命令来安装OpenCV所需的依赖项: ``` sudo apt install build-essential cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev sudo apt install python3-dev python3-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libdc1394-22-dev ``` 3. 下载OpenCV源代码: 运行以下命令来下载OpenCV 4.1.1源代码: ``` mkdir ~/opencv cd ~/opencv git clone https://github.com/opencv/opencv.git cd opencv git checkout 4.1.1 ``` 4. 编译和安装OpenCV: 运行以下命令来编译和安装OpenCV: ``` mkdir build cd build cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local .. make -j$(nproc) sudo make install ``` 5. 配置环境变量: 运行以下命令来配置OpenCV的环境变量: ``` echo 'export PYTHONPATH=$PYTHONPATH:/usr/local/lib/python3.6/dist-packages' >> ~/.bashrc source ~/.bashrc ``` 6. 验证安装: 运行以下命令来验证OpenCV是否已成功安装: ``` python3 import cv2 print(cv2.__version__) ``` 如果输出的版本号为4.1.1,则表示OpenCV已成功安装在Ubuntu上。现在你可以使用OpenCV来进行图像处理和计算机视觉任务了。 ### 回答3: 在Ubuntu上安装OpenCV 4.1.1可以按照以下步骤进行: 1. 更新系统:在终端中运行下面的命令进行系统更新: ``` sudo apt update sudo apt upgrade ``` 2. 安装依赖库:为了编译和安装OpenCV,需要先安装一些依赖库,运行下面的命令进行安装: ``` sudo apt install build-essential cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev ``` 3. 下载OpenCV源码:在终端中运行下面的命令下载OpenCV 4.1.1源码: ``` mkdir ~/opencv_build && cd ~/opencv_build git clone https://github.com/opencv/opencv.git cd opencv git checkout 4.1.1 ``` 4. 编译与安装:使用CMake配置编译选项,并进行编译和安装,运行下面的命令: ``` mkdir build && cd build cmake .. make -j$(nproc) sudo make install ``` 5. 配置库文件路径:为了让系统能够找到OpenCV库文件,需要进行库文件路径的配置,在终端中运行下面的命令: ``` echo '/usr/local/lib' | sudo tee --append /etc/ld.so.conf.d/opencv.conf sudo ldconfig ``` 6. 验证安装:为了确认OpenCV是否成功安装,可以在终端中运行下面的命令查看OpenCV版本信息: ``` pkg-config --modversion opencv4 ``` 如果能够看到OpenCV 4.1.1的版本号,表示OpenCV安装成功。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值