天天看点

树莓派下opencv3.4.0的安装与错误处理(python)

树莓派下opencv3.4.0的安装与错误处理(python)

1 opencv3.4.0的下载

  1. 可以在树莓派的终端界面通过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系统

可以在树莓派中断直接进行解压缩及安装

  1. 安装好numpy

    这个是python的科学计算库

    树莓派终端输入以下代码

sudo pip3 install numpy
           

结果如下图所示:

树莓派下opencv3.4.0的安装与错误处理(python)

2) 在树莓派设置中把根目录扩大到整个SD卡

树莓派终端输入以下代码:

sudo raspi-config
           

然后出现下图所示界面:

树莓派下opencv3.4.0的安装与错误处理(python)

选择“7 Advanced Options”

出现如下界面:

树莓派下opencv3.4.0的安装与错误处理(python)

选择“A1 Expand Filesystem”,将根目录扩展到这个SD卡,充分利用SD卡的存储空间。如果不进行这一步,后续命令会出现卡死。

“ESC”退出设置界面。

3) 启用摄像头

把摄像头安装在树莓派主板上,确保安装无误且牢固后,在树莓派终端输入以下代码:

sudo raspi-config
           

然后出现下图所示界面:

树莓派下opencv3.4.0的安装与错误处理(python)

选择“5 Interfacing Options”, 出现如下界面:

树莓派下opencv3.4.0的安装与错误处理(python)

选择“P1 Camera”,

树莓派下opencv3.4.0的安装与错误处理(python)
树莓派下opencv3.4.0的安装与错误处理(python)

依次出现上图所示内容,选择“是” 、“确定”,最后“ESC”退出即可。

做完步骤2)扩大目录到整个SD卡和步骤3)启用摄像头后,重启树莓派,终端输入:

sudo reboot
           

3 opencv3.4.0的安装

  1. 安装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

           
  1. 配置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
           

注意:此处为一行代码,不要分行

接下来就是漫长的等待了,这个过程可能你可以去做一些别的事情。

树莓派下opencv3.4.0的安装与错误处理(python)

上面两图就是配置成功和配置失败的界面,失败的话就得按照上述方法继续配置。

温馨提示:建议在网络环境较好的地方执行该步骤,推荐使用有线网络

5) 编译

保证树莓派有至少5G的存储空间,建议本命令用树莓派桌面上的命令行工具运行,而不要使用远程ssh连接。因为执行命令时间太长,中途如果ssh断线的话无法得知是否已经安装完毕。

cd /home/pi/Downloads/opencv-3.4.0/build
make && sudo make install
           

温馨提示:建议在网络环境较好的地方执行该步骤,推荐使用有线网络

接下来便是漫长等待的过程,大约需要等待一个小时多的时间。

树莓派下opencv3.4.0的安装与错误处理(python)
树莓派下opencv3.4.0的安装与错误处理(python)
树莓派下opencv3.4.0的安装与错误处理(python)

此时opencv3.4.0就安装好了。

接下来就是测试了。

4 测试

终端输入:

python3
import cv2
cv2.__version__
           

如果出现下图的结果,说明OpenCV3.4.0安装成功

树莓派下opencv3.4.0的安装与错误处理(python)

5 编译过程中出现的问题

  1. 在编译到75%左右时可能会出现:

    openc_contrib 提示缺少boostdesc_bgm.i文件而出错

    (没有此错误的可以忽略)

    这个是由于官方所给的那两个包不全。

    解决方法如下:

    把我提供的缺失文件包中所有带i结尾的文件全部都拷贝到 opencv_contrib/modules/xfeatures2d/src/ 路径下即可

    树莓派安装opencv缺失的文件:

链接:https://download.csdn.net/download/alpha_hawking/14922902

  1. 在编译到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目录下即可解决。

  2. 对于树莓派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的安装问题应该就解决了。此方法本人亲测有效,希望能给各位带来帮助!此篇博客中若有错误,欢迎大家指正交流!!!