ubuntu 16.04 安装opencv4.2.0+opencv_contrib+CUDA支持 流程

1.下载opencv源码:

官网下载:https://opencv.org/releases.html
在这里插入图片描述扩展包contrib库:
https://github.com/opencv/opencv_contrib/releases

2.解压opencv包

在Ubuntu里解压下载好的包:
2.1 压缩包格式是zip,使用unzip解压
2.2 压缩包格式是tar.gz,使用tar -zxvf 解压;
出现报错:

gzip: stdin: not in gzip format
tar: Child returned status 1
tar: Error is not recoverable: exiting now

改为使用tar -xvf 解压

3.下载依赖包:

从各博客总结下来的,不知道有没有多余,应该不会漏;

    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

    sudo apt-get install libopencv-dev libdc1394-22 libdc1394-22-dev libjpeg-dev libpng12-dev libtiff5-dev libjasper-dev libavcodec-dev libavformat-dev libswscale-dev libxine2-dev libgstreamer0.10-dev libgstreamer-plugins-base0.10-dev libv4l-dev libtbb-dev libqt4-dev libfaac-dev libmp3lame-dev libopencore-amrnb-dev libopencore-amrwb-dev libtheora-dev libvorbis-dev libxvidcore-dev x264 v4l-utils unzip

    sudo apt-get install ffmpeg libopencv-dev libgtk-3-dev python-numpy python3-numpy libdc1394-22 libdc1394-22-dev libjpeg-dev libpng12-dev libtiff5-dev libjasper-dev libavcodec-dev libavformat-dev libswscale-dev libxine2-dev libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev libv4l-dev libtbb-dev qtbase5-dev libfaac-dev libmp3lame-dev libopencore-amrnb-dev

4.下载opencv IPPICV 包

因为在cmake的过程中会自动下载:
iippicv_2019_lnx_intel64_general_20180723.tgz
特别的慢,基本卡死在那,然后就是超时错误;
所以采用了手动下载+修改配置文件的方式:
网上下载:https://github.com/opencv/opencv_3rdparty/tree/ippicv/master_20180723/ippicv
或者 网盘下载:
链接:https://pan.baidu.com/s/1J66MCWqDPqSJfWe14tqx7g
提取码:vsfu
在这里插入图片描述
然后修改配置文件:
演示默认opencv文件架构:(可以根据自己实际情况对路径进行调整)

opencv
	-opencv-4.2.0	//opencv的目录
		-iippicv_2019_lnx_intel64_general_20180723.tgz //手动下载的 IPPICV 包放在这里
	-opencv_contrib-4.2.0 //opencv_contrib的目录
	

打开配置文件:

gedit ~/opencv/opencv-4.2.0/3rdparty/ippicv/ippicv.cmake

然后将47行原来:

"https://raw.githubusercontent.com/opencv/opencv_3rdparty/${IPPICV_COMMIT}ippicv/"

修改为:

"file:~/opencv/opencv-4.2.0/"

在这里插入图片描述

5.下载face_landmark_model.dat文件

理由如上:
因为在cmake的过程中会自动下载,
特别的慢,基本卡死在那,然后就是超时错误;

还是手动下载+修改配置发方式:
下载地址:
网盘:
链接:https://pan.baidu.com/s/1J66MCWqDPqSJfWe14tqx7g
提取码:vsfu
在这里插入图片描述演示默认opencv文件架构:(可以根据自己实际情况对路径进行调整)

opencv
	-opencv-4.2.0	//opencv的目录
		-iippicv_2019_lnx_intel64_general_20180723.tgz //手动下载的 IPPICV 包放在这里
	-opencv_contrib-4.2.0 //opencv_contrib的目录
		-face_landmark_model.dat//手动下载的face_landmark_model文件

打开配置文件:

gedit ~/opencv/opencv_contrib-4.2.0/modules/face/CMakeLists.txt

然后将第19行原来:

"https://raw.githubusercontent.com/opencv/opencv_3rdparty/${__commit_hash}/"

修改为:

"file:~/opencv/opencv-4.2.0/"

在这里插入图片描述

6.下载boostdesc以及vgg_generated一系列文件

理由如上,cmake下载很慢,很可能最后出现超时错误;
网盘下载:
链接:https://pan.baidu.com/s/1J66MCWqDPqSJfWe14tqx7g
提取码:vsfu
在这里插入图片描述在这里插入图片描述然后所有文件解压到路径(根据实际情况修改):

~/opencv/opencv_contrib-4.2.0/modules/xfeatures2d/src/

即可!

7.cuda及cudnn的安装

没有安装过的可以看博文:
https://blog.csdn.net/sazass/article/details/86755077
可以选择更高的版本:

8.cmake编译

先进入opencv-4.2.0的目录,创建build目录:

cd ~/opencv/opencv-4.2.0
mkdir build
cd build

然后进行cmake编译,参数可自行调整:
下面的参数是带cuda和contrib扩展包的


cmake -D CMAKE_BUILD_TYPE=RELEASE \
 -D CMAKE_INSTALL_PREFIX=/usr/local \
 -D INSTALL_PYTHON_EXAMPLES=ON \
 -D INSTALL_C_EXAMPLES=ON \
 -D OPENCV_EXTRA_MODULES_PATH=/home/HwHiAiUser/opencv/opencv_contrib-4.2.0/modules \
 -D PYTHON3_EXECUTABLE=/usr/bin/python3 \
 -D PYTHON_EXECUTABLE=/usr/bin/python \
 -D WITH_TBB=ON \
 -D WITH_V4L=ON \
 -D WITH_QT=ON \
 -D WITH_GTK=ON \
 -D WITH_OPENGL=ON \
 -D WITH_OPENMP=ON\
 -D BUILD_EXAMPLES=ON \
 -D WITH_CUDA=ON \
 -D BUILD_TIFF=ON \
 -D ENABLE_PRECOMPILED_HEADERS=OFF\
 -D INSTALL_PYTHON_EXAMPLES=ON ..

然后编译即可;

9.cmake 出现的错误解决方案:

经过前期的手动下载避免了很多下载超时的错误;还是可能有一些报错中断cmake的,下面列一些我遇到的:
1.cuda方面错误:

CUDA backend for DNN module requires CC 5.3 or higher.  
Please remove unsupported architectures from CUDA_ARCH_BIN option.

原因是:DNN module needs that your graphic card supports the 5.3 Compute Capability (CC) version; 但是你的显卡不支持5.3及以下的
解决方式:

gedit ~/opencv/opencv-4.2.0/cmake/OpenCVDetectCUDA.cmake 

根据你的cuda版本好修改:
比如我安装了cuda 10.2
在138行和140行修改如下:

set(__cuda_arch_bin "3.0 3.5 3.7 5.0 5.2 6.0 6.1 7.0 7.5") 
->改为-> set(__cuda_arch_bin "6.0 6.1 7.0 7.5")

在这里插入图片描述

其他问题后面继续补充······

10.make编译以及make install安装

(默认当前目录在build目录下)

make -j8

结束后

sudo make install

11.配置一些OpenCV的编译环境

首先将OpenCV的库添加到路径,从而可以让系统找到:
1.

sudo gedit /etc/ld.so.conf.d/opencv.conf 

执行此命令后打开的可能是一个空白的文件,不用管,只需要在文件末尾添加:

/usr/local/lib  

执行如下命令使得刚才的配置路径生效:

sudo ldconfig  

2.配置bash

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  

12.opencv测试:

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值