树莓派3B——opencv3和opencv4安装

网上opencv安装有几种方法:pip install一键安装编译安装安装包一键安装,在尝试了前面两种安装方法,经历无数次刷系统、换源和改配置文件后,我果断用最后一种方法。

方法一、编译安装opencv3

1、系统安装和配置

该方法配置环境为:

树莓派3B

系统Raspberry Pi OS(2020-05-27)

16G储存卡

系统安装方法

2、更换更新源和下载源(很重要的一步,不同系统的源可能不一样)

这一步弄错可能会出现树莓派安装软件包不满足依赖关系问题

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

按ctrl+o再按回车键再按ctrl+x进行保存退出

3、更新软件系统

sudo apt-get update

sudo apt-get upgrade

4、扩展根目录空间

在控制终端输入

sudo raspi-config

通过键盘上下键控制,选择Advanced Options进入,然后选择Expand Filesystem,将根目录扩展到整个SD卡,充分利用SD卡的存储空间。如果不进行这一步,后续命令会出现卡死。设置完成后退出设置界面,重启树莓派。

然后sudo reboot重启

5、设置SWAP

OpenCV安装编译过程中数据吞吐较大,为了防止系统卡死,需要设置合适的交换空间。

sudo nano /etc/dphys-swapfile

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

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

输入free -h查看是否设置成功
在这里插入图片描述
6、安装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

wget -O opencv-3.4.3.zip https://github.com/Itseez/opencv/archive/3.4.3.zip

wget -O opencv_contrib-3.4.3.zip https://github.com/Itseez/opencv_contrib/archive/3.4.3.zip

解压这两个文件

unzip opencv-3.4.3.zip

unzip opencv_contrib-3.4.3.zip

(4)设置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 ..

③配置成功的界面如下图所示
在这里插入图片描述
(5)备份build文件夹

下一步我们会利用build文件夹里的文件进行make,一旦失败还需要重新进行cmake参数设置。为了节省时间,对build文件夹进行备份。

cd …

cp -r build ./build1

(6)编译OpenCV3

进入build文件夹进行编译,这一步耗时较长(大约四五个小时)。建议在树莓派环境下进行,防止ssh断开导致编译失败。同时树莓派要保证供电充足,且最好不要进行其他操作。

cd ~/Downloads/opencv-3.4.3/build

//使用最多4线程编译,加快编译速度。同时保存编译信息到make.log,方便离线查看编译进度

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

如果看到进度编译到100%,那么说明编译安装成功。
在这里插入图片描述
(7)安装OpenCV3

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

//安装OpenCV3

sudo make install

//安装动态链接库

sudo ldconfig
在这里插入图片描述
(8)恢复SWAP空间

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

sudo nano /etc/dphys-swapfile

CONF_SWAPSIZE = 100

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

7、配置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

如果出现如图所示的结果,则说明安装成功
在这里插入图片描述
也可以通过运行下samples生成一个图像来检测OpenCV是否工作正常

8、编译中可能会出现的问题(没出现忽略)

(1)cmake环境配置显示成功,但是一编译就报错 CMake Error: Cannot open file for write: /home/pi/Downloads/opencv-3.4.3/build/CMakeFiles/gen-pkgconfig.dir/depend.make.tmp CMake Error: : System Error: Permission denied make[2]: *** [CMakeFiles/gen-pkgconfig.dir/build.make:76:CMakeFiles/gen-pkgconfig.dir/depend] 错误 2 make[1]: *** [CMakeFiles/Makefile2:72:CMakeFiles/gen-pkgconfig.dir/all] 错误 2 make: *** [Makefile:163:all] 错误 2

这是python版本的原因,系统自带的是python3.5,要换成python3.7

(2)编译过程中可能会报错**:fctal error: ImfChromaticities.h: 没有那个文件或目录。**输入以下代码可以解决

sudo apt-get install libopenexr-dev

后面还会出现缺各种依赖,都是缺啥安装啥。

(3)编译18%左右可能会报错fatal error: opencv2/xfeatures2d/cuda.hpp: 没有那个文件或目录。这是由于我们之前安装了python2环境下的opencv导致的,复制两个文件即可解决:将/home/pi/Downloads/opencv_contrib-3.4.3/modules/xfeatures2d/include/opencv2目录下的xfeatures2d文件夹和xfeatures2d.hpp文件复制粘贴到/home/pi/Downloads/opencv-3.4.3/modules/stitching/include/opencv2目录下即可文件也可以从链接中下载,然后拷贝进正确的路径即可:链接:https://share.weiyun.com/tMPeaqGP 密码:ye4ezy

(4)在编译到81%左右的时候,可能会报错Built target opencv_tracking [Makefile:163 : all] 错误2(或者其他类似的错误)这主要是因为下载的包不完整导致的,把缺少的文件拷贝到:home/pi/Downloads/opencv_contrib-3.4.3/modules/xfeatures2d/src/下即可缺少的文件为:

boostdesc_bgm.i

boostdesc_bgm_bi.i

boostdesc_bgm_hd.i

boostdesc_binboost_064.i

…缺失文件下载链接:https://share.weiyun.com/6gaKPUXf 密码:c6myk6

(5)把刚刚自己下载拷贝的文件boostdesc_binboost_064.i在树莓派里打开,在源码最后加上“};”,不然会报错:In file included from /home/pi/Downloads/opencv_contrib-3.4.0/modules/xfeatures2
d/src/boostdesc.cpp:696: /home/pi/Downloads/opencv_contrib-3.4.0/modules/xfeatures2d/src/boostdesc_binboo
st_64.i:1059:1: note: to match this ‘{’

(6)安装cmake存在的问题,报错:mongodb-org-server : Depends: libcurl3 (>= 7.16.2) but it is not going to be installed
解决方法:链接:https://blog.csdn.net/u010919083/article/details/100556585

方法二、(安装包一键安装)来源于B站

系统一定要用64位系统,不然会出幺蛾子。可以用getconf LONG_BIT命令查看自己的系统是32位和64位。

1、系统安装和配置

该方法配置环境为:

树莓派3B

系统Raspberry Pi OS(64位)beta测试版

16G储存卡

2、换源

在终端输入以下指令

sudo nano /etc/apt/sources.list

用#注释掉原文件内容,用以下内容取代:

deb http://mirrors.tuna.tsinghua.edu.cn/debian buster main contrib non-free
deb http://mirrors.tuna.tsinghua.edu.cn/debian-security/ buster/updates main contrib non-free
deb http://mirrors.tuna.tsinghua.edu.cn/debian buster-updates main contrib non-free

#deb-src http://mirrors.tuna.tsinghua.edu.cn/debian buster main contrib non-free
#deb-src http://mirrors.tuna.tsinghua.edu.cn/debian-security/ buster/updates main contrib non-free
#deb-src http://mirrors.tuna.tsinghua.edu.cn/debian buster-updates main contrib non-free

然后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

然后ctrl+o保存,点回车确认保存,然后ctrl+x退出

3、下载opencv包
该安装包为B站UP主团队制作的一键安装安装包

链接: https://pan.baidu.com/s/1rgSOikk2NsT7IIl-0WfP_A 提取码: ca17

4、用ftp软件或者用U盘把下载的包上传到家(/home/pi)目录下面。

5、树莓派登陆终端,在家目录用下面指令安装

sudo apt install ./ opencv-4.5.1-org.pifan_20210116-1_arm64.deb

最终安装的OpenCV版本为OpenCV4.5.1。可参考视频:https://www.bilibili.com/video/BV1fv411Y71G

方法三、树莓派装好opencv3的原版系统镜像

实在安装不上时可以用别人装好opencv3的原版系统镜像,链接:https://pan.baidu.com/s/1EwM0vvsjLag7LVdMDW5wTA

提取码:ssb0

树莓派系统密码:1122

具体如何备份系统可以参考博文:https://www.ncnynl.com/archives/201607/232.html

方法四、树莓派OpenCV-4.5.0镜像

参考文章:

https://blog.csdn.net/Hankerchen/article/details/103510024

https://blog.csdn.net/zuoguaishouxiao/article/details/106496323

https://blog.csdn.net/fightingboom/article/details/82215362

https://blog.csdn.net/leaves_joe/article/details/67656340

https://blog.csdn.net/weixin_43287964/article/details/101696036

  • 6
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Filthyfrank

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值