系统相关
首页 > 系统相关> > Ubuntu下opencv3.2 + opencv_contrib的安装 及因cuda10报错解决

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已经上传到我的下载,自行前往下载。

然后重新编译即可通过。

标签:get,sudo,dev,cuda10,opencv,报错,install,include
来源: https://blog.csdn.net/qq_43145072/article/details/97025083