彻底卸载原来版本的方法:
https://blog.csdn.net/u012455577/article/details/88353920
方法一
ubuntu版本16.04,opencv版本3.4.6,带CUDA源码安装
参考:https://docs.opencv.org/3.4.6/d7/d9f/tutorial_linux_install.html
1)下载指定版本的opencv和opencv_contrib源代码
a)git clone https://github.com/opencv/opencv.git
cd opencv
b)git checkout 33b765d7979fd8a6038026aa44f6ff1a9c082b7b
git checkout -b 3.4.6
2)检查环境
查看gcc版本:which gcc,gcc -v 我的是5.4.0
查看CMake版本:cmake --version 我的是3.9.1
查看是否安装git:git --version
。。。。。。
3)安装环境
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
4)源码编译
sudo apt-get install cmake-qt-gui)
sudo gedit /etc/ld.so.conf.d/opencv.conf
/usr/local/lib
sudo ldconfig
sudo gedit /etc/bash.bashrc
source /etc/bash.bashrc
pkg-config opencv --modversion
pkg-config --cflags --libs opencv
测试代码:https://blog.csdn.net/jindunwan7388/article/details/8039770
方法二
进入http://opencv.org/releases.html下载opencv 3.4.6代码
解压zip文件,并进入opencv3.4.6目录
unzip opencv-3.4.6.zip
cd opencv-3.4.6
mkdir build
cd build
cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local/opencv3.4.6 ..
1)如果出现以下错误,则将
#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
如缺少nvcuvid.h,下载地址https://developer.nvidia.com/nvidia-video-codec-sdk/download
将其中的 nvcuvid.h, cuviddec.h copy 到/usr/local/cuda-10.0/include/
2)若出现以下问题,则将functional.hpp:50处的 #include "device_functions.h"改为 #include "cuda_runtime.h"
编译和安装
make -j12
sudo make install
修改环境变量
vim ~/.bashrc
添加如下内容,并source ~/.bashrc使马上生效
export PKG_CONFIG_PATH="/usr/local/opencv3.4.6/lib/pkgconfig"
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/local/opencv3.4.6/lib"
查看opencv版本
pkg-config --modversion opencv
查看opencv安装库和包含路径
pkg-config --cflags --libs opencv
ps:重点是配置环境变量