ubuntu18.04 编译opencv4.4.0 带cuda加速,ffmpeg

1.编译之前先检查下cuda是否安装成功

nvcc -V

 显示版本号,则安装成功,没有安装的先自行安装下cuda,可以参考下我之前写的链接

2.编译opencv前检查下是否编译ffmpeg

/usr/local/ffmpeg/bin/ffmpeg -version

 显示版本号,则安装成功,没有安装的先自行安装下ffmpeg,可以参考下我之前写的链接

 

3.依赖环境  安装cmake

sudo apt-get install cmake
sudo apt-get install build-essential libgtk2.0-dev libavcodec-dev libavformat-dev libjpeg-dev libswscale-dev libtiff5-dev
sudo apt-get install libgtk2.0-dev
sudo apt-get install pkg-config

4.下载opencv4.4.0 以及opencv_contrib-4.4.0

 官网下载:下载地址:https://opencv.org/releases/
      点击Sources进行下载自己需要的版本,我选择的是4.4.0的

百度网盘下载链接:https://pan.baidu.com/s/1utdRjW8rVLVHJ_ZuEvfQjg 

提取码:1dcs 

5.编译opencv前先下载好一些难以下载的依赖项

boostdesc_bgm.i,vgg_generated_48.i等11个文件,ippicv等
已下载好,请自行提取

链接:https://pan.baidu.com/s/1gVJJ4MTIn-3LW_mcbp0obQ
提取码:r9te
复制这段内容后打开百度网盘手机App,操作更方便哦

  5.1   那boostdesc_bgm.i....等11个文件下载好之后放置在opencv-contrib4.4modulesxfeatures2dsrc下

  5.2 ippicv下载后放置在/opencv//opencv/3rdparty/ippicv/ippicv.cmake文件中

  将ippicv.cmake中第42行url地址为file:./ippicv_2020_lnx_intel64_20191018_general.tgz,()

 6.开始准备编译

  6.1把opencv-contrilb放到opencv4.4.0文件夹内

新建build文件夹并进入build文件夹内

mkdir build && cd build

编译指令

cmake -DCMAKE_BUILD_TYPE=RELEASE   
-DCMAKE_INSTALL_PREFIX=/usr/local
-DOPENCV_EXTRA_MODULES_PATH=../opencv_contrib-4.4.0/modules ..
-DWITH_CUDA=1
-DWITH_FFMPEG=ON
-DWITH_GSTREAMER=ON
-DENABLE_FAST_MATH=1
-DCUDA_FAST_MATH=1
-DWITH_CUBLAS=1
-DWITH_GTK=ON
-DOPENCV_GENERATE_PKGCONFIG=1
-DCUDA_GENERATION=Pascal ..

 编译指令大家可以仔细看下,

 

 出现这个字样的时候,就是编译成功了 ,如果ffmpeg显示为no的话 一定要检查下你的ffmpeg有没有安装成功

接下来开始生成

sudo make -j6
sudo make install

6.2生成的时间比较长,建议喝杯岩浆耐心等待一会

6.3安装生成完之后添加环境变量

sudo vim /etc/ld.so.conf

在文件最后一行加上/usr/loacal/lib

其中/user/loacal是opencv安装路径也就是makefile中指定的安装路径

sudo ldconfig

保存刷新下


在文件中加上一行 /usr/loacal/lib
其中/user/loacal是opencv安装路径也就是makefile中指定的安装路径

修改bash.bashrc文件

sudo vim /etc/bash.bashrc 

在文件末尾加上:

PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
export PKG_CONFIG_PATH

 

然后刷新保存下:

source /etc/bash.bashrc

检查下是否安装成功:

pkg-config opencv4 --modversion

 至此就成功了,opencv4.4.0 + contrilb编译成功了,如果编译的是opencv3.0系列的,最后检查的时候可以不带opencv4

pkg-config opencv --modversion  这样就好了 

 参考博客链接:https://blog.csdn.net/public669/article/details/99044895

https://blog.csdn.net/u013230291/article/details/104233668

原文地址:https://www.cnblogs.com/study-/p/14028950.html