本安装方法目前已在ubuntu 16.04进行测试,其他ubuntu版本应该也适用。
安装所需依赖项
在Linux下我们需要编译安装,而编译OpenCV需要必要的软件包。下面是必要的软件包:
- GCC 4.4.x或者更高
- GTK+2.x或者更高,包括它的头文件(libgtk2.0-dev)
- pkg-config
- 带有开发包的Python 2.6或者更高和Numpy 1.5或者更高(python-dev, python-numpy)
- ffmpeg或者libav开发包:libavcodec-dev, libavformat-dev, libswscale-dev
下面是可选的功能包:
- libtbb2 libtbb-dev
- libdc1394 2.x
- libjpeg-dev, libpng-dev, libtiff-dev, libjasper-dev, libdc1394-22-dev
你可以使用dpkg-query -l
命令检查上述需要的软件是否被安装,例如检查gtk+是否安装:
dpkg-query -l gtk*
ii gtk2-engines-murrine:amd64 0.98.2-0ubuntu2.2 amd64 cairo-based gtk+-2.0 theme engine
un gtk2.0-binver-2.10.0 (no description available)
un gtk3-binver-3.0.0 (no description available)
un gtk3-engines-oxygen (no description available)
该命令支持通配符,而且只有当第一列显示ii
时才表示该软件已正确安装。
NOTE:在编译前也可以检查是否安装所有依赖。
你可以使用下面命令安装这些软件:
[编译器] sudo apt-get install build-essential
[必须的] sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
[可选的] sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper
获取OpenCV源码
如果你会使用git的话,建议使用git来获取源代码,你可以选择任何版本的OpenCV以及最新的源代码。
cd ~/<my_working _directory>
git clone https://github.com/opencv/opencv.git
当然,你也可以在OpenCV官网或者Sourceforge下载源代码。
编译OpenCV源码
先做好cmake之前的准备:
cd ~/opencv # 进入源码的路径
mkdir release # 创建编译目录
cd release
然后就可以执行cmake了,cmake的目的是生成编译所需要的MakeFile等文件:
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local ..
第一个变量是指定编译类型的,这里我们选择release版本,第二个变量是指定安装目录的,第三个参数时源代码的路径。
NOTE:笔者由于使用的是服务器,没有root权限,因此将安装路径设置在了自己的home路径下。
这一步运行速度很快,而且结果很长,因此你要耐心查看输出结果,上面会显示哪些需要的软件包未检测到,以及基于目前的配置将要安装哪些特性。这些特性会以清单的形式出现,如果安装的话,后面会出现ON。所以这里也提醒一下大家,可以根据自己需要的环境来安装对应的库,如果缺失了就及时补充对应的工具包,然后再安装,也就是在make和make install之前要确保cmake运行之后的清单里面要有自己想要的东西。另外,在结果末尾,你还会看到刚刚设置的安装路径:
...
-- C/C++ Examples: NO
--
-- Install path: /usr/local
--
...
cmake好之后,就可以编译了,make
命令要在刚刚的release路径下执行:
make
编译时间比较长,你可以干一些其他事。编译完成之后,就可以安装了。
sudo make Install
如果你和笔者一样没有root权限,那么你之前的安装路径就不要设置在home目录以外的地方了。这样的话,你安装的时候就不要使用sudo
了。
到这里OpenCV的安装就已经结束了,在下一篇文章中,我们会对安装进行测试,并介绍如何使用cmake来构建OpenCV项目。
参考资料
- OpenCV 2.13.6 documentation:Installation in Linux
- CSDN博客:Linux下面安装OpenCV3.3.0
- CSDN博客:Linux16.04配置OpenCV3.2
- Linux公社:Linux系统入门学习:如何在Ubuntu上检查一个软件包是否安装
本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。