树莓派3B 安装opencv环境(填坑指南)最新最详细!

一、配置树莓派


系统安装和配置

树莓派系统烧录的教程网上很多,所以不再赘述
本文配置环境:

更换更新源和下载源

第一步先更换源
①在终端输入以下指令

 sudo nano /etc/apt/sources.list

将里面的内容清空替换成中科大源

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

(注意:网上很多是 stretch ,这是Debian9的版本 ,现在已经改成 buster。)
在这里插入图片描述然后ctrl+o保存,点回车确认保存,然后ctrl+x退出
②在终端输入以下指令

 sudo nano /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

在这里插入图片描述
③使用命令更新软件源列表,同时检查编辑是否正确。再更新软件

 sudo apt-get update && sudo apt-get upgrade

更换pip下载源

输入命令:

sudo mkdir ~/.pip
cd .pip
sudo nano pip.conf

在打开的文件中输入以下代码

[global]
timeout = 10
index-url =  http://mirrors.aliyun.com/pypi/simple/
extra-index-url= http://pypi.douban.com/simple/
[install]
trusted-host=
    mirrors.aliyun.com
    pypi.douban.com

按下ctrl+x保存退出

扩展根目录空间

终端输入

sudo raspi-config

在这里插入图片描述
在这里插入图片描述
选择7.Advanced Options进入,然后选择Expand Filesystem,将根目录扩展到整个SD卡。如果不进行,后续命令会出现卡死。
设置完成后退出设置界面,重启树莓派

sudo reboot

增加交换空间

OpenCV安装编译过程中,为了防止编译挂起,需要设置合适的交换空间。

sudo nano /etc/dphys-swapfile

将 CONF_SWAPSIZE 的值修改成2048
在这里插入图片描述
重新启动 dphys-swapfile 文件服务:

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

二、安装运行在Python2上的OpenCV

终端输入以下两个命令

sudo apt-get install libopencv-dev
sudo apt-get install python-opencv

安装完成,输入cv2.__version__查看OpenCV版本号
在这里插入图片描述

三、python3下安装OpenCV

1、安装Python科学计算库numpy

sudo pip3 install numpy

2、安装OpenCV所需的库

// 安装build-essential、cmake、git和pkg-config(cmake开发人员工具)
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
//GTk2.0安装
sudo apt-get install libgtk2.0-dev -y
//安装OpenCV数值优化函数包
sudo apt-get install libatlas-base-dev gfortran -y

3.下载opencv3.4.3和opencv_contrib3.4.3包

将下载的文件都放在Downloads文件夹中

cd Downloads

然后利用wget命令下载opencv3.4.3和opencv_contrib3.4.3

由于国内访问github较慢,用gitee加速

wget -O opencv-3.4.3.zip https://gitee.com/mirrors/opencv/repository/archive/3.4.3
wget -O opencv_contrib-3.4.3.zip https://gitee.com/mirrors/opencv_contrib/repository/archive/3.4.3

解压两个文件

unzip opencv-3.4.3.zip
unzip opencv_contrib-3.4.3.zip

4.准备编译过程中出错需要的缺失文件

①提前准备缺失文件( 缺少boostdesc_bgm.i文件和vgg_generated_120.i文件等)

在如下链接处下载缺失的文件包

链接:https://pan.baidu.com/s/1xi6_5NuTFiP4SD649FgIJw
提取码:mbsj
此处引用 CSDN博主「忆逍遥」的原创文章, 原文链接:https://blog.csdn.net/weixin_43308627/article/details/97814927

将所有带 i 结尾的文件全部都拷贝到 opencv_contrib-3.4.3/modules/xfeatures2d/src/
路径下即可。拷贝方法可用 HFS。

unzip opencv_3rdparty-contrib_xfeatures2d_boostdesc_20161012.zip 
unzip opencv_3rdparty-contrib_xfeatures2d_vgg_20160317.zip 
cd opencv_3rdparty-contrib_xfeatures2d_boostdesc_20161012
cp * ~/Downloads/opencv_contrib-3.4.3/modules/xfeatures2d/src/
②提前解决 fatal error: opencv2/xfeatures2d/cuda.hpp: 没有那个文件或目录

将~/Downloads/opencv_contrib-3.4.3/modules/xfeatures2d/include/opencv2目录下的xfeatures2d文件夹和xfeatures2d.hpp文件复制粘贴到 ~/Downloads/opencv-3.4.3/modules/stitching/include/opencv2/目录下即可。

cd ~/Downloads/opencv_contrib-3.4.3/modules/xfeatures2d/include/opencv2
ls
cp -r * ~/Downloads/opencv-3.4.3/modules/stitching/include/opencv2/
ls ~/Downloads/opencv-3.4.3/modules/stitching/include/opencv2/

5.设置CMAKE编译参数

为了正确编译OpenCV,需要对cmake参数进行设置。
①在opencv-3.4.3文件夹下创建build文件夹以存放编译临时文件

cd ~/Downloads/opencv-3.4.3
mkdir build
cd build

②设置cmake编译参数

//下述参数中,INSTALL_PYTHON_EXAMPLES、INSTALL_CXX_EXAMPLES、BUILD_EXAMPLES分别是安装python例程、安装C例程以及编译例程,这三个可以不加,这样编译速度快一点,根据需要自行选择。
sudo cmake -D CMAKE_BUILD_TYPE=RELEASE \
    -D CMAKE_INSTALL_PREFIX=/usr/local \
    -D OPENCV_EXTRA_MODULES_PATH=/home/pi/Downloads/opencv_contrib-3.4.3/modules \
    -D INSTALL_PYTHON_EXAMPLES=ON \
    -D INSTALL_CXX_EXAMPLES=ON \
    -D BUILD_EXAMPLES=ON ..

(“\” 代表将代码延续到下一行)
输出结果如下所示:

...
-- Configuring done
-- Generating done
-- Build files have been written to: /home/pi/opencv_build/opencv/build

6.备份build文件夹

下一步我们会利用build文件夹里的文件进行make,一旦失败还需要重新进行cmake参数设置。为了节省时间,对build文件夹进行备份。
cd …
cp -r build ./build1
cd build
在这里插入图片描述

7.编译OpenCV3

进入build文件夹进行编译,这一步耗时较长

 cd ~/Downloads/opencv-3.4.3/build
 //使用最多4线程编译,加快编译速度。同时保存编译信息到make.log,方便离线查看编译进度
 sudo make -j4 2>&1 | tee make.log

如果看到进度编译到100%,那么说明编译安装成功

如果遇到中途出错或者临时断电等问题,直接输入以上命令继续编译即可。如果想重新进行编译,可以把路径跳转到我们上面备份的build1文件夹进行编译,也可以输入以下命令重新编译

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

8.安装OpenCV3

编译完成后即可进行最后一步——安装。

//安装OpenCV3
sudo make install
//安装动态链接库
sudo ldconfig

9.恢复SWAP空间

安装完成后需要把swap恢复系统默认,然后重新启动服务。否则大量的数据交换会导致内存卡损坏。

sudo nano /etc/dphys-swapfile
CONF_SWAPSIZE = 100
sudo /etc/init.d/dphys-swapfile restart

四、配置OpenCV

1.配置opencv.conf

为了保证个别语言的编译要求,需要对opencv.conf文件进行配置

sudo nano /etc/ld.so.conf.d/opencv.conf

在打开的文件最后两行键入以下内容

//其中,/usr/local为默认安装路径,根据实际情况进行修改即可
/usr/local/lib
?

更新动态链接

sudo ldconfig

2.修改bash.bashrc 配置文件

//打开bash.bashrc
sudo nano /etc/bash.bashrc
//最后两行加入以下代码
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig       
export PKG_CONFIG_PATH
//重启树莓派
sudo reboot

3.检查是否安装完成

python3
import cv2
cv2.__version__

在这里插入图片描述
可以通过运行以下代码生成一个图像来检测OpenCV是否工作正常

nano test.py

import cv2
import numpy as np
cv2.namedWindow("gray")
img = np.zeros((512,512),np.uint8)#生成一张空的灰度图像
cv2.line(img,(0,0),(511,511),255,5)#绘制一条白色直线
cv2.imshow("gray",img)#显示图像
#循环等待,按q键退出
while True:
    key=cv2.waitKey(1)
    if key==ord("q"):
        break
cv2.destoryWindow("gray")
//运行程序
python3 test.py

运行结果:
在这里插入图片描述

最后

感谢csdn前辈提供的技术支持

参考博客:
树莓派4 安装OPENCV3全过程(各种踩坑和报错)
树莓派3b+安装OpenCV成功的一些经验分享

以下是在树莓派3B安装OpenCV的步骤: 1. 安装依赖项 打开终端并运行以下命令: ``` sudo apt-get update sudo apt-get upgrade sudo apt-get install build-essential cmake pkg-config sudo apt-get install libjpeg-dev libtiff5-dev libjasper-dev libpng12-dev sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev sudo apt-get install libxvidcore-dev libx264-dev sudo apt-get install libgtk2.0-dev libgtk-3-dev sudo apt-get install libcanberra-gtk* sudo apt-get install libatlas-base-dev gfortran sudo apt-get install python2.7-dev python3-dev ``` 2. 下载 OpenCV 打开终端并运行以下命令: ``` mkdir ~/opencv_build && cd ~/opencv_build wget -O opencv.zip https://github.com/opencv/opencv/archive/3.4.0.zip wget -O opencv_contrib.zip https://github.com/opencv/opencv_contrib/archive/3.4.0.zip unzip opencv.zip unzip opencv_contrib.zip ``` 3. 编译 OpenCV 打开终端并运行以下命令: ``` cd ~/opencv_build/opencv-3.4.0/ mkdir build && cd build cmake -D CMAKE_BUILD_TYPE=RELEASE \ -D CMAKE_INSTALL_PREFIX=/usr/local \ -D OPENCV_EXTRA_MODULES_PATH=~/opencv_build/opencv_contrib-3.4.0/modules \ -D ENABLE_NEON=ON \ -D ENABLE_VFPV3=ON \ -D BUILD_TESTS=OFF \ -D INSTALL_PYTHON_EXAMPLES=OFF \ -D BUILD_EXAMPLES=OFF .. ``` 接下来,使用以下命令编译 OpenCV: ``` make -j4 ``` 这将花费一些时间,具体时间取决于您的 Raspberry Pi 的性能。 4. 安装 OpenCV 运行以下命令以安装 OpenCV: ``` sudo make install sudo ldconfig ``` 安装完成后,您可以运行以下命令来测试 OpenCV 是否成功安装: ``` python >>> import cv2 >>> cv2.__version__ ``` 如果没有错误,OpenCV 将会成功安装并运行。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值