如何在树莓派上安装opencv,树莓派上能搞opencv代码嘛

  如何在树莓派上安装opencv,树莓派上能搞opencv代码嘛

  树莓Pi安装opencv的详细过程及常见问题分析

一、beginning

  今天下午有空就总结一下树莓派opencv的安装过程。我觉得装起来很费功夫,网上也找了很多教程,但是很多都有各种各样的问题,解决起来很麻烦,有时候甚至完全不一样。经过不断填坑,终于解决了所有问题,opencv成功安装(当时我很开心)。现在,事不宜迟,请快速总结一下安装过程。

  

二、在树莓派上安装运行在Python3上的Opencv

1、安装numpy

  打开终端,输入以下命令,并安装Python科学计算库numpy

  sudo pip3安装编号

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

  打开终端,输入命令进入Raspberry Pi配置界面。使用上下键和左右键切换光标位置。

  Sudraspi-Config Raspberry Pi配置界面

选择第七行的:Advanced Options

  选择展开文件系统,将根目录展开到这张SD卡,充分利用SD卡的存储空间。如果不这样做,后面可能会卡住。

  之后退出设置界面,重启树莓Pi。

  sudo重新启动

3、安装OpenCV所用到的库

  运行以下八条指令,成功安装使用的库。

  sudo apt-get install build-essential git cmake pkg-config-y sudo apt-get install libjpeg 8-dev-y sudo apt-get install libtiff 5-dev-y sudo apt-get install l lib jasper-dev-y sudo apt-get install libpng 12-dev-y sudo apt-get install lib codec-dev libswscale-dev libv4 l-dev-y sudo apt-get install libgtk 2.0-dev-y sudo apt-get install lib atlas

  注意,这个地方是很重要的一点。刚开始初学者都是想着用网上找到的说明直接下载相应的OpenCV,网上也大多在用这种方法。但是我个人测试这个方法很不靠谱,下载了很多次(一般)都没有下载到正确的大小,如图:

  这些都是我下载的带指令的OpenCV压缩包,没有一个能用,所以这里也不放指令下载方法了。由于码源的问题,这种方法可能具有非常慢且不稳定的传输速度。另外,我也试过在官网下载,但是中途总会出现下载错误,无法继续下载:

  我觉得最好的使用方法是通过百度网盘下载:

  以下是我的百度网盘(3.4.0版)的。如果需要其他版本,可以在网上找。有很多资源。

4、下载OpenCV

  链接:https://pan.baidu.com/s/1wDaVt86GPhKh6GgmNP-1DQ

  提货代码:e47c

  

1、OpenCV 3.4.0

  链接:https://pan.baidu.com/s/1SwlCXBL8PUTw5qfYRMQiHA

  提货代码:8mbz

  下载后,我有一个u盘复制到树莓派。这里要注意把压缩包放在/home/pi/Downloads目录下(一定不能错)。

  

2、opencv_contrib-3.4.0

  Cd/home/pi/downloads解压opencv-3.4.0.zip解压opencv _ contrib-3.4.0.zip必须指出的是,我至少花了两天时间来填坑。每个人都可以从中吸取教训。

  

解压这两个压缩包

  设置编译参数

  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/MODULES-D BUILD _ EXAMPLES=ON-D with _ Lib v4 l=ON PYTHON 3 _ executable=/usr/hacked googs/PYTHON 3.5 PYTHON _ include _ dir=/usr/include/PYTHON 3 .local/lib/python 3.5/site-packages/numpy/core/include.根据下图判断你是否成功配置了CMAKE。如果失败,可能是因为两个压缩包的路径没有严格按照上面的要求。如果成功,就可以开始最重要的编译了。

  图片摘自(骄傲地学习树莓派)

  这也是一个小坑。我第一次设置不成功,严格安装路径,重新配置,终于成功了。只要按照上面给的这个地方,一般是没有问题的。

  

5、设置编译参数

6、编译

  Sudo make如果说之前的下载OpenCV是个大洞,那么这次的编译过程绝对是个大洞(此处省略2万字。)记得在这个地方被困了好多天。这个编译过程非常慢,一直到凌晨才完成。重要的是每次修改完都不知道最后的编译结果能不能完成。不用我多说。看我被困在哪里了(/(12)

  在编译的过程中,说实话,哪里卡住都很正常。我一直有两个如图所示的错误。我在网上搜了很久,被误导了,一直以为我下载了CV2。cpp有问题去哪里改代码,但是越改越乱。据说字符数组有问题,要加个char强制转换。最后实际使用。下面是我在网上找到的针对具体卡在各个地方的相应解决方案。

  此部分转载自易逍遥的博客。你可以去看看。很好,太好了!

1、//编译

  这是因为官方给出的两个包不完整,(没有这个错误的可以忽略)

  解决方案如下:

  可以从我的百度云盘下载,把所有以I结尾的文件复制到opencv _ contrib/modules/xfeatures 2d/src/的路径下。

  树莓Pi安装opencv时丢失文件:链接:https://pan.baidu.com/s/1xi6_5NuTFiP4SD649FgIJw

  提货代码:mbsj

  然后继续上面的编译操作。

  

1.在编译到75%左右时可能会出现openc_contrib 提示缺少boostdesc_bgm.i文件而出错

  这是由于之前树莓Pi的python2环境下安装了opencv。

  解决方案如下:

  将/home/pi/downloads/opencv _ contrib-3 . 4 . 0/modules/XFeature2D/include/opencv 2目录下的XFeature2D文件夹和xfeatures2d.hpp文件复制并粘贴到

  /home/pi/downloads/opencv-3 . 4 . 0/modules/stitching/include/opencv 2,

  

2.在编译到94%左右时可能会出现fatal error: opencv2/xfeatures2d/cuda.hpp: 没有那个文件或目录的错误标志 (没有此错误的可以忽略)

  make[2]:* * *[modules/python 3/cmakefiles/opencv _ python3.dir/build.make: 63:modules/python 3/cmakefiles/opencv _ python3.dir/_ _/src 2/cv2 . CPP . o]错误1

  make[1]:* * *[cmakefiles/makefile 2:21769:modules/python 3/cmakefiles/opencv _ python3.dir/all]错误2

  make:* make:* * *[Makefile:163:all]:all]错误2

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

  这可能是由于不同系统版本与树莓Pi版本不兼容。

  解决方案如下:

  首先在/home/pi/downloads/opencv-3 . 4 . 0/modules/python/src 2中找到cv2.cpp文件,

  然后在第885行把char*改成const char*来求解,最后继续上面的编译操作。

  成功编译可以安装,胜利!

3.对于树莓派4B,在编译到99%左右时可能会出现

  sudo制造安装

2、//安装

  

3、//更新动态连接库

  测试:

  3 Python导入CV2V2。_ _ Version _ _如果出现图中所示的结果,说明OpenCV3.4.0安装成功并获胜!

  当然还有一些其他安装过程中遇到的小问题,不过都是一些性格问题,时间长了也没有特别清楚的记录,这里就不说了。请在将来记录它们。好吧,好吧,我们停下来。今天到此为止吧。

如何在树莓派上安装opencv,树莓派上能搞opencv代码嘛