徹底卸載原來版本的方法:
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:重點是配置環境變量