Ubuntu下opencv3.2 + opencv_contrib的安装 及因cuda10报错解决

下载安装包

去我的资源下载opencv3.2 + opencv_contrib
https://download.csdn.net/download/qq_43145072/11422560

安装依赖

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 build-essential qt5-default ccache libv4l-dev libavresample-dev  libgphoto2-dev libopenblas-base libopenblas-dev doxygen  openjdk-8-jdk pylint libvtk6-dev

sudo apt-get install pkg-config

编译安装

将下载的安装包解压好,将opencv_contrib.zip提取到opencv目录下
更改后的文件目录应当如下:

3rdparty  cmake            data     LICENSE               platforms
apps      CMakeLists.txt   doc      modules               README.md
build     CONTRIBUTING.md  include  opencv_contrib-3.3.1  samples
```c
cd opencv-3.3.1
sudo mkdir build 
cd build  
sudo cmake -DENABLE_PRECOMPILED_HEADERS=OFF -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local -D OPENCV_EXTRA_MODULES_PATH=/home/fish/工程与库/opencv-3.3.1/opencv_contrib-3.3.1/modules/ ..

注意将其中OPENCV_EXTRA_MODULES_PATH后面路径改为自己的。

sudo make -j8
sudo make install

若没有出现报错则安装成功。

查看opencv版本

pkg-config opencv --modversion

显示:3.3.1

可能出现的cuda10相关错误

modules/cudacodec/src/precomp.hpp等多个文件 找不到dynlink_nvcuvid.h
将/precomp.hpp等多个文件中

 #if CUDA_VERSION >= 9000
        #include <dynlink_nvcuvid.h>
    #else
        #include <nvcuvid.h>
    #endif

改为

   #if CUDA_VERSION >= 9000 && CUDA_VERSION < 10000 
        #include <dynlink_nvcuvid.h>
    #else
        #include <nvcuvid.h>
    #endif

注意modules/cudacodec/src下可能有多个hpp需要修改!!
下载 nvidia-sdk 将其中的 nvcuvid.h 拷贝到 /usr/local/cuda/include/ (用命令行拷贝,需要权限,自行百度)。 nvidia-sdk已经上传到我的下载,自行前往下载。

然后重新编译即可通过。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值