【树莓派】树莓派安装opencv

本文详细介绍如何在树莓派上安装OpenCV 4.2.0,涉及存储空间优化、增加交换空间、依赖包安装、编译步骤及注意事项,确保在有限资源下成功部署并测试。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

安装前的准备

1、存储空间的一些说明和操作

必须使用16G以上的卡,最好是class10以上,实测8G class6卡安装到35%就爆满了,推算安装完成要4.6G左右。
然后扩大文件系统。因为,用SD卡安装完系统后一大部分空间实际是未被分配的
使用命令

sudo raspi-config

然后选择第七个
在这里插入图片描述

然后选择第一个回车,会让你重启树莓派,选择立即重启
在这里插入图片描述

2、增加交换空间

增加交换空间以避免因内存问题导致的编译挂起
输入命令

sudo nano /etc/dphys-swapfile

将 CONF_SWAPSIZE 值从默认值更改 100 为 1024 :
如图
在这里插入图片描述

然后ctrl+o保存,点回车确认保存,然后ctrl+x退出,并运行以下命令以使更改生效:

sudo /etc/init.d/dphys-swapfile restart

3、下载opencv-4.2.0和opencv_contrib-4.2.0

opencv官网:https://opencv.org/releases/
opencv_contrib下载连接: https://github.com/opencv/opencv_contrib/releases

1、下载opencv
进入opencv官网选择要下载的版本,点击sources进行下载

下载连接:https://github.com/opencv/opencv/archive/4.2.0.zip (可以采用迅雷加速下载)
下载后重命名为:opencv-4.2.0.zip

2、下载opencv_contrib
进入下载opencv_contrib的github 网址,选择对应版本,进行下载

下载地址:https://codeload.github.com/opencv/opencv_contrib/zip/4.2.0(可以采用迅雷加速下载)

下载后重命名为:opencv_contrib-4.2.0.zip

以上已经上传到百度网盘:
链接:https://pan.baidu.com/s/1_2sr_PafFEQZBGkF8ejLoQ
提取码:3m5k

4、安装依赖包

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

这些依赖包具体是有什么用的,感兴趣可以搜下

开始编译

1、编译前准备

进入目录:

cd /home/pi/Downloads

将下载好的文件拷贝到 /home/pi/Downloads目录下进行解压,目录不要错了:

unzip opencv-4.2.0.zip
unzip opencv_contrib-4.2.0.zip

进入opencv-4.2.0

cd opencv-4.2.0

新建release文件夹:

mkdir release

进入release文件夹:

cd release

2、设置编译参数

sudo cmake -D CMAKE_BUILD_TYPE=RELEASE \
	-D CMAKE_INSTALL_PREFIX=/usr/local \
    -D OPENCV_EXTRA_MODULES_PATH=/home/pi/Downloads/opencv_contrib-4.2.0/modules \
    -D INSTALL_PYTHON_EXAMPLES=ON \
    -D INSTALL_CXX_EXAMPLES=ON \
    -D BUILD_EXAMPLES=ON ..

配置过程很久,因为要下载一些包,这些包的下载服务器在海外,下载速度相对比较慢,请耐心等待,整个安装过程并不久,是文件下载的时间长。
配置成功如图:
在这里插入图片描述

3、编译前的一些准备

由于下载的opencv源码缺少boostdesc_bgm.i等文件,需要下载下列文件:
链接:https://pan.baidu.com/s/1SJlnmilEmHwXkZ5RuqHj-g
提取码:6viw

解压后,将boostdesc_bgm.i等文件拷贝到opencv_contrib/modules/xfeatures2d/src/目录下

另外,需要将opencv-4.1.0/modules/features2d/test/文件下的

test_descriptors_invariance.impl.hpp
test_descriptors_regression.impl.hpp
test_detectors_invariance.impl.hpp
test_detectors_regression.impl.hpp
test_invariance_utils.hpp

拷贝到opencv_contrib-4.1.0/modules/xfeatures2d/test/文件下。

同时,将opencv_contrib-4.1.0/modules/xfeatures2d/test/test_features2d.cpp文件下的

#include "features2d/test/test_detectors_regression.impl.hpp"
#include "features2d/test/test_descriptors_regression.impl.hpp"

改成:

#include "test_detectors_regression.impl.hpp"
#include "test_descriptors_regression.impl.hpp"

将opencv_contrib-4.1.0/modules/xfeatures2d/test/test_rotation_and_scale_invariance.cpp文件下的

#include "features2d/test/test_detectors_invariance.impl.hpp"
#include "features2d/test/test_descriptors_invariance.impl.hpp"

改成:

#include "test_detectors_invariance.impl.hpp"
#include "test_descriptors_invariance.impl.hpp"

4、开始编译

要在之前配置的目录下进行编译,如果目录改变过,就要切换回去

cd /home/pi/Downloads/opencv-4.2.0/release

直接在树莓派上运行编译,输入以下即可
开始编译

sudo make -j4 2>&1 | tee make.log

使用远程连接端口进行编译时要使用Screen命令,防止编译到一半服务器自动断开:
采用Screen,防止断开连接导致编译停止,安装Screen

sudo apt-get install screen

开始编译

sudo screen make -j4 2>&1 | tee make.log

本次编译采用4线程,编译过程中有可能会卡,这个时候请耐心等待,不要操作其它,如果卡了很久,可以拔掉电源,重新启动系统,cd进入到之前创建的release目录,执行上面编译语句,不要担心,执行编译后会从上次退出编译的位置继续编译,编译过程中不要操作其它,这是重点!!!,以免卡死。采用读取速度98m/s的内存卡,编译时长1个多小时。
编译成功:
在这里插入图片描述

5、安装部署:

要保证是在之前编译的文件夹里

cd /home/pi/Downloads/opencv-4.2.0/release

开始安装

sudo make install

安装成功:
在这里插入图片描述

6、测试是否成功安装

python3

import cv2

安装成功就可以正常导入模块:
在这里插入图片描述

参考文献:

https://blog.csdn.net/zqxdsy/article/details/102673226
https://qengineering.eu/install-opencv-4.2-on-raspberry-pi-4.html
https://qengineering.eu/install-opencv-4.1-on-raspberry-pi-4.html
https://blog.csdn.net/qq_27149279/article/details/105331034
https://blog.csdn.net/weixin_43287964/article/details/101696036
https://blog.csdn.net/qq_31112205/article/details/105210496

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值