ubuntu 16.14.9 编译cuda版本的opencv4.5

环境:CUDA 10.1 CUDNN 7.6.3
前提:各种相关的编译依赖的软件包都已经下好了

  1. 在/usr/local/ 目录下 下载 opencv4.5.0 和 opencv_contrib4.5.0
    opencv-4.5.0 地址
    opencv_contrib-4.5.0 地址
    解压 opencv-4.5.0.zip
    将opencv_contrib-4.5.0.zip 放入opencv-4.5.0中,解压后重命名为 opencv_contrib
    因此 目前opencv存放位置为:/usr/local/opencv-4.5.0
    opencv_contrib 存放位置为:/usr/local/opencv-4.5.0/opencv_contrib

  2. ippicv
    下载 ippicv_2020_lnx_intel64_20191018_general.tgz
    链接:https://pan.baidu.com/s/1cCp5ceqgd0IYyfohXS8XbQ 提取码:0hst
    放入/usr/local目录下,修改/usr/local/opencv-4.5.0/3rdparty/ippicv/ippicv.cmake 文件第42行
    ubuntu 16.14.9 编译cuda版本的opencv4.5_第1张图片

4.boostdesc_bgm.i,vgg_generated_48.i等文件
链接:https://pan.baidu.com/s/1rWLYZltexq1QwgydON2wKg 提取码:z2to
下载好后 放入/usr/local/opencv-4.5.0/opencv_contrib/modules/xfeatures2d/src/ 文件夹下

  1. 查看GPU 计算能力
    链接
    根据自己的显卡型号查询GPU计算能力,用于后面cmake命令中的 -D CUDA_ARCH_BIN=‘7.5’

  2. 查看核数量
    cat /proc/cpuinfo |grep “cores”|uniq
    用于make命令中的 make -j10

  3. 进入 opencv-4.5.0
    mkdir build && cd build

  4. cmake命令

cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local/ -D OPENCV_EXTRA_MODULES_PATH=../opencv_contrib/modules -D CUDA_ARCH_BIN='7.5' -D WITH_CUDA=1 -D WITH_CUDNN=ON -D OPENCV_DNN_CUDA=ON -D WITH_OPENGL=ON -D CUDA_FAST_MATH=1 -D WITH_CUBLAS=1 -D OPENCV_GENERATE_PKGCONFIG=1 -D WITH_GTK_2_X=ON ..
  1. make 命令
    make -j10
    根据4中查到的核数量 修改-j后的数字

  2. make install
    至此编译成功

中间会出现如下一些小问题:
① fatal error: features2d/test/test_detectors_regression.impl.hpp: No such file or directory
解决方案:将位于 /usr/local/opencv-4.5.0/modules/features2d 的features2d 文件夹复制粘贴到 /usr/local/opencv-4.5.0/build目录即可
② fatal error: opencv2/xfeatures2d.hpp: No such file or directory
解决方案:修改报错位置的绝对路径,修改为如下值:
#include "/usr/local/opencv-4.5.0/opencv_contrib/modules/xfeatures2d/include/opencv2/xfeatures2d.hpp"
其他相应问题都是通过添加绝对路径的方式解决

你可能感兴趣的:(opencv)