ubuntu18.04由于出来没多久,很多应用也没有很快就适配,而且由于系统配置环境的不熟悉,经常会出现一些不可预知的错误。下面记录的是我电脑上安装opencv3.4.0的安装过程,网上这类教程很多,但是由于自己安装过程中出现了几个自己无法找到的问题,所以还是想记录一下。
系统装完后,给电脑安装显卡驱动、cuda9.0、以及cudnn7.1.4, 具体安装步骤参见下面的这篇文章,写得很仔细,主要就是注意一下,由于cuda9.0仅只持GCC6.0以下版本,而18.04预装为7.3,因此要手动降级。另外cudnn安装下载deb安装包更方便一下。
ubuntu18.04下安装显卡驱动、cuda9.0、cudnn详细步骤
驱动、cuda、cudnn啥的按装好后,可以开始安装opencv了,直接去官网下载opencv源码进行编译。这里多说两句,本来计划安装opencv3.2或者opencv2.4.13这两个版本的,但是在安装过程中,要么cmake出错,要么make出错,无奈之下只得试了一下opencv3.4,结果没出什么问题。
第一步:下载完成后对该文件进行解压,会得到一个opencv-3.4.0的文件夹,进入该文件夹,手动新建一个release的文件夹,然后进入到里面,打开一个终端。或者直接在opencv-3.4.0文件夹中打开一个终端,然后
# 新建一个release的文件夹
$ mkdir release
# 进入到release文件夹中
$ cd release
第二步:cmake,进入到release文件夹后,在终端中输入如下命令,后面的-D CUDA_GENERATION=kepler 加上
# 正常情况下使用如下cmake命令即可
$ cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local ..
# 但是,由于cuda 9.0对环境有点不支持,可能需要在后面加上-D CUDA_GENERATION=Kepler
$ cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local -D CUDA_GENERATION=Kepler ..
第三步:make 和 install,这里需要的时间可能会有点久,
# 这里-j4使用4线程make,速度会快一下
$ sudo make -j4
$ sudo make install
第四步:配置opencv编译环境,将其添加到系统路径中,
#
$ sudo gedit /etc/ld.so.conf.d/opencv.conf
在出现的编辑器中加上 /usr/local/lib,该配置文件可能是空文件。保存后,接下来
# 使配置生效
$ sudo ldconfig
# 配置bash.bash.rc
$ sudo gedit /etc/bash.bashrc
# 这时在打开的文件中添加下面两条路径
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
export PKG_CONFIG_PATH
# 保存使配置生效
& source /etc/bash.bashrc
& sudo updatedb
最后测试一下,在opencv-3.4.0文件夹中进入到opencv-3.4.0/samples/cpp/example_cmake/目录下,然后编译运行一下
$ cmake .
$ make
$ ./opencv_example
摄像头打开,ok大功告成