1、安装依赖项
按照下面命令的顺序,一步步的在shell里面执行。
$ 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-dev libdc1394-22-dev
2、下载opencv源代码
找到你计划存放opencv工程的目录,并切换到该目录。
$ mkdir ~/opencv_
$ cd ~/opencv_
下载源代码:
opencv源代码
$ git clone https://github.com/Itseez/opencv.git
$ cd opencv
$ git checkout 3.1.0
opencv_contrib的源代码,包含一些较新的计算机视觉方面的算法实现。
$ git clone https://github.com/Itseez/opencv_contrib.git
$ cd opencv_contrib
$ git checktout 3.1.0
这个时候~/opencv_目录下应该有两个文件夹了,分别是opencv,opencv_contrib.提醒,上面一定要记得切换到3.1.0分之,不然编译可能会出问题。
3、cmake处理
在该目录下新建一个文件夹, 并切换到这个文件夹下面。
$ mkdir build
$ cd build
这里因为我之前安装了cuda,所以在使用cmake创建工程的后,cmake会检测到cuda包,并自动编译cuda相关的包, 我这样尝试过,但是编译到80%多的时候出错了,fatal error。下面,我会在工程生成的时候特地将cmake的with_cuda关闭。在这里,给大家推荐一个Linux下cmake gui工具
$ sudo apt install cmake-gui
$ cmake-gui # 执行
在cmake-gui中,将where is the source code设置为:~/opencv_/opencv 将where to build the binariess设置为:~/opencv_/build.点击configure, 列表中将会出现一系列的参数。 在这里,取消了WITH_CUDA的选中。
此外还需要说明一下,可能是3.1.0版本的错误,如果你选中了对python的集成, 最后运行的时候也会报错:错误信息提示是hdf5.h找不到,我已开始以为是自己没有安装hdf5,还特地装了一个
$ sudo apt install libhdf5-dev
可是安装之后依旧报错。Google了一下, 我在opencv github issue下找到了解决办法地址;按照他们的给的解决方法,之后执行确实没有再报错了。(原来是 cmake 没有去找这个包)
好了现在可以生成make工程了, 在cmake-gui下,点击configure,没有报错的话,继续点击generate. 退出cmake-gui.
4、开始编译
执行一下命令:
$ cd ~/opencv_/build
$ make -j7 #开启7个线程,同时进行编译,感觉速度有一定程度上的提升。我最多试过15个。
静静等,看你的电脑有多厉害了,慢的话,一个小时甚至更长,快的话,半个小时吧。着急不得。
5、安装
现在假设你上面任何一个过程都没有出现任何错误,接下来就舒舒服服的安装吧。
$ cd ~/opencv_/build
$ sudo make install
检查是否安装成功
$ pkg-config --modversion opencv
如果输入3.1.0 那么恭喜你,编译并安装成功了。
转自:
领取专属 10元无门槛券
私享最新 技术干货