Ubuntu18.04环境下cuda10.0+opecv4.1.0安装

前言:本文章结合CSDN多篇文章内容,并根据个人实际情况进行修改
原文链接:

https://blog.csdn.net/lihe4151021/article/details/90237681
https://blog.csdn.net/dulingwen/article/details/90607767

https://blog.csdn.net/weixin_44003563/article/details/90293187

一、cuda10.0安装

1、安装NVIDIA驱动

1、首先查看NVIDIA图形卡和推荐的驱动程序的模型
	ubuntu-drivers devices
2、然后更新安装

1)禁用 nouveau驱动

原因:这是Ubuntu默认的开源显卡驱动,与N卡驱动一起使用会导致兼容性 问题,比如卡在登录界面无法进入图形界面。

#终端中运行:
 lsmod | grep nouveau
如果有输出则代表nouveau正在加载。需要我们手动禁掉nouveau

#打开文本
 sudo gedit /etc/modprobe.d/blacklist.conf 

#在打开的最后加上两行:
1.blacklist nouveau 
2.options nouveau modeset=0

sudo update-initramfs -u 

# 此时可以用  
 lsmod | grep nouveau 
#查看没有输出即下载成功,如果有可重启再次查看

2)安装nvidia驱动

#卸载原有的nvidia驱动
 sudo apt-get remove --purge nvidia* 

#添加安装源
 sudo add-apt-repository ppa:graphics-drivers/ppa
 sudo apt-get update

#然后检查可以安装的驱动版本
 ubuntu-drivers devices
 
#选择自己需要的版本(先查看cuda版本对应驱动要求,下面有链接)
 sudo apt-get install nvidia-driver-xxx 

重启,使用nvidia-smi查询是否安装

在设置 ——>详细信息——>看到显示显卡信息:GeForce GTX 1080 Ti/PCIe/SSE2——>安装成功

注:可以使用ubuntu仓库和手动配置,手动配置比较麻烦(这里不做介绍)
ubuntu配置点击 软件和更新 ==> 附件驱动 然后选择 nvidia驱动

3. 验证安装驱动是否OK

nvidia-smi:

Ubuntu18.04环境下cuda10.0+opecv4.1.0安装_第1张图片
nvidia-settings:

Ubuntu18.04环境下cuda10.0+opecv4.1.0安装_第2张图片

附:
显卡驱动对应版本
驱动下载链接

2、安装CUDA10.0

一、禁用 nouveau驱动(在安装Nvidia驱动时已禁用)

1、终端中运行:
 lsmod | grep nouveau
如果有输出则代表nouveau正在加载。需要我们手动禁掉nouveau

2、Ubuntu的nouveau禁用方法:
a、在/etc/modprobe.d中创建文件blacklist-nouveau.conf

输入命令:
 sudo vi /etc/modprobe.d/blacklist-nouveau.conf (利用vi编辑器编辑和保存文件)

在文件中输入一下内容:
blacklist nouveau
options nouveau modeset=0

b、执行:
sudo update-initramfs –u

c、再执行:
lsmod | grep nouveau
若无内容输出,则禁用成功,若仍有内容输出,请检查操作,并重复上述操作。

二、CUDA10.0安装
附:CUDA10.0安装

3、安装opencv4.1.0

一、下载opencv4.1.0和opencv_contrib4.1.0版本

OpenCV4.1.0:
https://github.com/opencv/opencv/releases/tag/4.1.0

OpenCV_contrib 4.1.0: https://github.com/opencv/opencv_contrib/releases/tag/4.1.0

二、添加opencv所需要的依赖库:

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

里面有些东西诸如cmake、git、python-dec、python-numpy一般早都安装好了,确定的话可以直接去掉。

三、编译opencv

1、opencv目录下,创建build文件夹
mkdir build
2、进入build目录,执行cmake命令:
cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local -D OPENCV_EXTRA_MODULES_PATH=/home/linzq/opencv-4.1.0/opencv_contrib-4.1.0/modules -D PYTHON_DEFAULT_EXECUTABLE=/usr/bin/python3  -D BUILD_opencv_python3=ON  -D PYTHON3_EXCUTABLE=/usr/bin/python3 -D PYTHON3_INCLUDE_DIR=/usr/include/python3.6m -D OPENCV_GENERATE_PKGCONFIG=ON -D WITH_CUDA=1  -D WITH_CUBLAS=1 -D DCUDA_NVCC_FLAGS="-D_FORCE_INLINES" -D WITH_TBB=ON  -D WITH_V4L=ON  -D ENABLE_FAST_MATH=1 -D CUDA_FAST_MATH=1  -DCUDA_TOOLKIT_ROOT_DIR=/usr/local/cuda-10.0/  -DBUILD_SHARED_LIBS=ON BUILD_opencv_cudacodec=1 ..

OPENCV_EXTRA_MODULES_PATH 根据opencv_contrib-4.1.0文件夹具体路径进行修改,建议将opencv_contrib-4.1.0文件夹拷贝到opencv-4.1.0文件夹下

3、使用make开始编译
make -j8

-j8是同时使用8核CPU来执行编译过程,这样速度比较快,具体需要根据自己的电脑情况修改。

4、编译install
sudo make install

然后在/usr/local/lib下可以看到img编译的结果。

img

5、卸载opencv
sudo make uninstall
6、手动卸载opencv
sudo rm -r /usr/local/include/opencv4 
sudo rm -r /usr/local/include/opencv 
sudo rm -r /usr/include/opencv 
sudo rm -r /usr/include/opencv4 
sudo rm -r /usr/local/share/opencv 
sudo rm -r /usr/local/share/OpenCV 
sudo rm -r /usr/share/opencv 
sudo rm -r /usr/share/OpenCV 
sudo rm -r /usr/local/bin/opencv* 
sudo rm -r /usr/local/lib/libopencv*
sudo rm -r /usr/local/lib/pkgconfig/opencv4.pc
sudo rm -r /usr/local/lib/cmake/opencv4

四、环境配置

1.配置pkg-config路径

经过上面的步骤后,在/usr/local/lib/pkgconfig下生成了opencv4.pc文件,这个文件很重要,里面记录了OpenCV头文件、库文件的路經。需要进行如下配置:

#进入 bash.bashrc
sudo gedit /etc/bash.bashrc

#在文件最后添加如下内容
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
export PKG_CONFIG_PATH

#更新
sudo updatedb
2.配置库路径
#打开下列文件
sudo gedit /etc/ld.so.conf.d/opencv.conf 

*# 添加lib路經*
/usr/local/lib

# 更新*
sudo ldconfig

NOTE:一切有关” cannot open shared object file: No such file or directory “的问题基本都可以通过上面的方式来解决(除非是操作系统里确实没有包含该共享库(lib*.so.*文件)或者共享库版本不对)

3、查看opencv版本号
pkg-config --modversion opencv4

Q&A

Q1:OpenCV 4.1 CUDA 10.1 linux下编译问题【fatal error: nvcuvid.h: No such file or directory】

解决方案:https://blog.csdn.net/chanzhennan/article/details/90451968

你可能感兴趣的:(opencv,ubuntu,cuda)