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