(树莓派、linux通用)OpenCV3源码方式安装教程(最新3.4.3)_Joeya的博客-CSDN博客
本文是在该博客的基础上添加了一些图片和截图
网上找了许多的教程但是都是在中间的步骤后,似乎就失败了,虽然也不乏一些叙述上十分详细的教程,但是教程中间并没有说明需要注意的地方导致如:未在对应路径输入指令导致后面步骤无法继续。所以这里特别总结了我的整个安装过程,以及中间遇到的许多的坑。这些坑其实也是自身基础概念没有弄明白导致的细节上的错误。所以大致理解每一步的目的是尤为重要的,尤其是像我这种小白。这里是安装以OpenCV3.4.14为例。
首先我们要安装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源代码了,请大家用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/",拷贝好后可以通过命令的方式解压。
这里安装路径可以更换,但是所有涉及到路径的命令都需要更换到对应路径。
我这里两个文件的解压路径如下图:
之后我们新建一个名为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软件。因为时间太久不了,要是电脑关机后就无法查看树莓派编译的状态了。
过了很久之后。。。
// 安装
sudo make install
// 更新动态链接库
sudo ldconfig
[1] (树莓派、linux通用)OpenCV3源码方式安装教程(最新3.4.3)_Joeya的博客-CSDN博客