ubuntu上opencv源码安装

彻底卸载原来版本的方法:

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)源码编译

  a)准备
  mkdir build
  cd build
  cmake-gui ..
  (安装cmake-gui,sudo apt-get install cmake-qt-gui)
  b)选择源文件目录,和输出文件目录
  c)配置 configure
  配置CMAKE_BUILD_TYPE 值为RELEASE,
  根据自己的情况,配置CMAKE_INSTALL_PREFIX和OPENCV_EXTRA_MODULES_PATH(opencv_contrib的路径),
  勾选WITH_CUDA
  d)生成 Generate
  点击Generate生成配置文件。
  e)执行
  在build目录下,执行:
  make
  sudo make install
5)环境变量配置
  a)sudo gedit /etc/ld.so.conf.d/opencv.conf
    将以下内容添加到最后:/usr/local/lib
    sudo ldconfig
  b)sudo gedit /etc/bash.bashrc
    添加:
    PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
    export PKG_CONFIG_PATH
    执行 source /etc/bash.bashrc
  c)重启
6)测试
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:重点是配置环境变量

原文地址:https://www.cnblogs.com/walker-lin/p/11150684.html