【树莓派】树莓派OpenCV的环境配置

(树莓派、linux通用)OpenCV3源码方式安装教程(最新3.4.3)_Joeya的博客-CSDN博客

本文是在该博客的基础上添加了一些图片和截图

网上找了许多的教程但是都是在中间的步骤后,似乎就失败了,虽然也不乏一些叙述上十分详细的教程,但是教程中间并没有说明需要注意的地方导致如:未在对应路径输入指令导致后面步骤无法继续。所以这里特别总结了我的整个安装过程,以及中间遇到的许多的坑。这些坑其实也是自身基础概念没有弄明白导致的细节上的错误。所以大致理解每一步的目的是尤为重要的,尤其是像我这种小白。这里是安装以OpenCV3.4.14为例。

 前期准备(安装opencv前需要一些基本的工具)

首先我们要安装OpenCV所依赖的各种工具和图像视频库:

打开终端(Raspbain和Ubuntu的快捷键都是Ctrl + Alt +t),然后依次执行下列命令,网上很多教程都是放到一起执行的,但是一起执行往往会出现错误,也不好查错。

// 软件源更新
sudo apt-get update 

// 升级本地所有安装包,最新系统可以不升级,版本过高反而需要降级才能安装
sudo apt-get upgrade

// 升级树莓派固件,固件比较新或者是Ubuntu则不用执行
sudo rpi-update

然后安装构建OpenCV的相关工具:

// 安装build-essential、cmake、git和pkg-config
sudo apt-get install build-essential cmake git pkg-config 

之后安装常用图像工具包:

// 安装jpeg格式图像工具包
sudo apt-get install libjpeg8-dev 

// 安装tif格式图像工具包
sudo apt-get install libtiff5-dev 

// 安装JPEG-2000图像工具包
sudo apt-get install libjasper-dev 

// 安装png图像工具包
sudo apt-get install libpng12-dev 

再安装视频I/O包(注意最后一个包的数字“4”后面是“L”):

sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev

下面安装gtk2.0(树莓派很可能下载错误,更换中科大或者清华源即可,ubuntu有可能出现包版本过高的情况,需要将依赖包降级安装):

sudo apt-get install libgtk2.0-dev

优化函数包:

sudo apt-get install libatlas-base-dev gfortran

如果你希望在Python中使用OpenCV,那么你还需要安装Python的开发包:

sudo apt-get install python-dev python3-dev

OpenCV的现在与安装

恭喜你,执行到这里就把OpenCV的依赖包全部安装好了,之后要开始编译OpenCV源代码了,请大家用wget工具下载到用户目录下(源码要放在有执行权限的位置,不是安装位置),命令如下:

/** 使用wget下载OpenCV源码,觉得慢的话可以到https://github.com/opencv/opencv/releases下载OpenCV的源代码
* tar.gz格式,需要解压好,放到用户目录下
* 但是OpenCV_contrib请大家使用wget,亲测直接到Github下载zip文件的话,会有编译问题
**/

// 下载OpenCV
wget -O opencv-3.4.14.zip https://github.com/Itseez/opencv/archive/3.4.14.zip

// 解压OpenCV
unzip opencv-3.4.14.zip

// 下载OpenCV_contrib库:
wget -O opencv_contrib-3.4.14.zip https://github.com/Itseez/opencv_contrib/archive/3.4.14.zip

// 解压OpenCV_contrib库:
unzip opencv_contrib-3.4.14.zip

以上的网速极其慢的话,可以先在电脑上用科学的方法来下载opencv-3.4.14.zip和opencv_contrib-3.4.14.zip,然后用u盘拷贝到树莓派上。

可以下载后拷贝到树莓派的"home/pi/",拷贝好后可以通过命令的方式解压。

这里安装路径可以更换,但是所有涉及到路径的命令都需要更换到对应路径。

我这里两个文件的解压路径如下图:

【树莓派】树莓派OpenCV的环境配置_第1张图片

之后我们新建一个名为release的文件夹用来存放cmake编译时产生的临时文件:

注意:不要退出当前路径!!!新建的文件夹就是在opencv-3.4.14文件夹下!!!

// 新建release文件夹
mkdir release

// 进入release文件夹
cd release

 提示!如果希望将其他库跟OpenCV连接起来使用,请提前配置好再进行接下来的编译

cd opencv-3.4.14

注意:后面的所有指令都是在opencv-3.4.14/release这个路径下进行(详情看截图)

设置cmake编译参数,安装目录默认为/usr/local ,注意参数名、等号和参数值之间不能有空格,但每行末尾“\”之前有空格,参数值最后是两个英文的点(注意!如果在root用户下执行cmake命令,请将OPENCV_EXTRA_MODULES_PATH的值改为绝对路径,如:/home/joeya/opencv_contrib-3.4.14/modules (命令的最后请务必加上最后的两点 .. )

/** CMAKE_BUILD_TYPE是编译方式
* CMAKE_INSTALL_PREFIX是安装目录
* OPENCV_EXTRA_MODULES_PATH是加载额外模块
* INSTALL_PYTHON_EXAMPLES是安装官方python例程
* BUILD_EXAMPLES是编译例程(这两个可以不加,不加编译稍微快一点点,想要C语言的例程的话,在最后一行前加参数INSTALL_C_EXAMPLES=ON \)
**/

sudo cmake -D CMAKE_BUILD_TYPE=RELEASE \
	-D CMAKE_INSTALL_PREFIX=/usr/local \
    -D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib-3.4.14/modules \
    -D INSTALL_PYTHON_EXAMPLES=ON \
    -D BUILD_EXAMPLES=ON ..

进行编译

//编译
sudo make

然后就是漫长的编译等待时间,差不多5分钟2%的速度在前进,这里强烈建议用树莓派自身的LX终端,不要用远程SSH软件。因为时间太久不了,要是电脑关机后就无法查看树莓派编译的状态了。

【树莓派】树莓派OpenCV的环境配置_第2张图片

过了很久之后。。。

【树莓派】树莓派OpenCV的环境配置_第3张图片

// 安装
sudo make install

【树莓派】树莓派OpenCV的环境配置_第4张图片

// 更新动态链接库
sudo ldconfig

 嘿嘿,成功啦,弄了一天了。

【树莓派】树莓派OpenCV的环境配置_第5张图片

参考文献 

[1] (树莓派、linux通用)OpenCV3源码方式安装教程(最新3.4.3)_Joeya的博客-CSDN博客

你可能感兴趣的:(嵌入式,树莓派)