树莓派下opencv3.4.0的安装与错误处理(python)
1 opencv3.4.0的下载
-
可以在树莓派的终端界面通过wegt命令下载(但下载速度可能很慢)
终端输入下列代码进行下载(终端打开快捷键:ctrl+alt+t)
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
温馨提示:建议在网络环境较好的地方执行该步骤,推荐使用有线网络
2) 去官方进行下载
温馨提示:看准版本对应的系统
3) 直接从我在csdn上传的文件下载
opencv-3.4.0.zip:
https://download.csdn.net/download/alpha_hawking/14922913
opencv_contrib-3.4.0.zip:
https://download.csdn.net/download/alpha_hawking/14922916
4) 使用百度网盘进行下载
现将网盘链接分享如下:
opencv-3.4.0.zip:
链接:https://pan.baidu.com/s/1Le-d244FZUhTZD3E0mvLhQ
提取码:ijib
复制这段内容后打开百度网盘手机App,操作更方便哦
opencv_contrib-3.4.0.zip:
链接:https://pan.baidu.com/s/1FC8Y9C0uuNEUW0HjUzihHQ
提取码:a60t
复制这段内容后打开百度网盘手机App,操作更方便哦
压缩包下载好之后就可以进行安装了
2 安装前期准备
注意:本系统是基于树莓派的Raspbian系统
可以在树莓派中断直接进行解压缩及安装
-
安装好numpy
这个是python的科学计算库
树莓派终端输入以下代码
sudo pip3 install numpy
结果如下图所示:

2) 在树莓派设置中把根目录扩大到整个SD卡
树莓派终端输入以下代码:
sudo raspi-config
然后出现下图所示界面:
选择“7 Advanced Options”
出现如下界面:
选择“A1 Expand Filesystem”,将根目录扩展到这个SD卡,充分利用SD卡的存储空间。如果不进行这一步,后续命令会出现卡死。
“ESC”退出设置界面。
3) 启用摄像头
把摄像头安装在树莓派主板上,确保安装无误且牢固后,在树莓派终端输入以下代码:
sudo raspi-config
然后出现下图所示界面:
选择“5 Interfacing Options”, 出现如下界面:
选择“P1 Camera”,
依次出现上图所示内容,选择“是” 、“确定”,最后“ESC”退出即可。
做完步骤2)扩大目录到整个SD卡和步骤3)启用摄像头后,重启树莓派,终端输入:
sudo reboot
3 opencv3.4.0的安装
-
安装OpenCV所需的库
依次在终端输入以下命令进行安装:
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
温馨提示:建议在网络环境较好的地方执行该步骤,推荐使用有线网络
2) 解压opencv的压缩包:
cd /home/pi/Downloads
unzip opencv-3.4.0.zip
unzip opencv_contrib-3.4.0.zip
注意:在官方或者网盘下载的兄弟们可以把这两个压缩包通过Fillzilla或者U盘等方法把文件传输到树莓派的/home/pi/Downloads目录下(一定不能错)。
3) 配置编译文件
cd /home/pi/Downloads/opencv-3.4.0
mkdir build
cd build
- 配置CMAKE
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-3.4.0/mod
注意:此处为一行代码,不要分行
接下来就是漫长的等待了,这个过程可能你可以去做一些别的事情。
上面两图就是配置成功和配置失败的界面,失败的话就得按照上述方法继续配置。
温馨提示:建议在网络环境较好的地方执行该步骤,推荐使用有线网络
5) 编译
保证树莓派有至少5G的存储空间,建议本命令用树莓派桌面上的命令行工具运行,而不要使用远程ssh连接。因为执行命令时间太长,中途如果ssh断线的话无法得知是否已经安装完毕。
cd /home/pi/Downloads/opencv-3.4.0/build
make && sudo make install
温馨提示:建议在网络环境较好的地方执行该步骤,推荐使用有线网络
接下来便是漫长等待的过程,大约需要等待一个小时多的时间。
此时opencv3.4.0就安装好了。
接下来就是测试了。
4 测试
终端输入:
python3
import cv2
cv2.__version__
如果出现下图的结果,说明OpenCV3.4.0安装成功
5 编译过程中出现的问题
-
在编译到75%左右时可能会出现:
openc_contrib 提示缺少boostdesc_bgm.i文件而出错
(没有此错误的可以忽略)
这个是由于官方所给的那两个包不全。
解决方法如下:
把我提供的缺失文件包中所有带i结尾的文件全部都拷贝到 opencv_contrib/modules/xfeatures2d/src/ 路径下即可
树莓派安装opencv缺失的文件:
链接:https://download.csdn.net/download/alpha_hawking/14922902
-
在编译到94%左右时可能会出现:
fatal error: opencv2/xfeatures2d/cuda.hpp: 没有那个文件或目录的错误标志 (没有此错误的可以忽略)
这个是由于之前在树莓派的python2环境下安装了opencv所致
解决方法如下:
将/home/pi/Downloads/opencv_contrib-3.4.0/modules/xfeatures2d/include/opencv2目录下的xfeatures2d文件夹和xfeatures2d.hpp文件复制粘贴到
/home/pi/Downloads/opencv-3.4.0/modules/stitching/include/opencv2目录下即可解决。
-
对于树莓派4B,在编译到99%左右时可能会出现:
make[2]: *** [modules/python3/CMakeFiles/opencv_python3.dir/build.make:63:modules/python3/CMakeFiles/opencv_python3.dir/__/src2/cv2.cpp.o] 错误 1
make[1]: *** [CMakeFiles/Makefile2:21769:modules/python3/CMakeFiles/opencv_python3.dir/all] 错误 2
make: *** [Makefile:163:all] 错误 2
的错误标志(没有此错误的可以忽略)
这个可能是由于系统版本不同和树莓派版本的不兼容所致。
解决方法如下:
首先找到/home/pi/Downloads/opencv-3.4.0/modules/python/src2 中的cv2.cpp文件,
然后在第885行把char* 改成 const char* 即可解决,最后继续上面的编译操作即可。
这样,opencv的安装问题应该就解决了。此方法本人亲测有效,希望能给各位带来帮助!此篇博客中若有错误,欢迎大家指正交流!!!