ubuntu16.04下安装opencv

环境:ubuntu16.04 cuda8.0 cudnn5.1

本文综合参考众多同学的安装配置文章,是个人的安装过程记录,仅供参考,不足之处欢迎讨论。

1.安装

  • 安装依赖项

    $  sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libhdf5-serial-dev protobuf-compiler  
    $  sudo apt-get install python-yaml  
    $  sudo apt-get install --no-install-recommends libboost-all-dev   
    $  sudo apt-get install libatlas-base-dev   
    $  sudo apt-get install python-dev  
    $  sudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-dev   
    $  sudo apt-get install build-essential 
    $  sudo apt-get install libgtk2.0-dev libavcodec-dev libavformat-dev  libtiff4-dev  libswscale-dev libjasper-dev   
    $  sudo apt-get install cmake  
    $  sudo apt-get install pkg-config    
    $  sudo apt-get install python-pip    
    $  sudo apt-get install python-opencv
   $sudo apt-get install python-numpy python-scipy python-matplotlib python-sklearn python-h5py python-protobuf python-leveldb python-networkx python-nose python-pandas python-gflags cython ipython  
  $ sudo apt-get install build-essential libgtk2.0-dev libavcodec-dev libavformat-dev libjpeg62-dev libtiff4-dev cmake libswscale-dev libjasper-dev
    $  sudo apt-get install --no-install-recommends libboost-all-dev 

  • 安装opencv2.4.9

    下载opencv-2.4.9,解压到~/目录
   $  cd opencv-2.4.9
   $  mkdir release  
   $  cd release 
   $ cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local 
       -D CUDA_GENERATION=Kepler ..
   $  make -j4  
   $  make install 

  • 设置环境变量

        添加库路径(创建opencv.conf文件)
          $  sudo gedit /etc/ld.so.conf.d/opencv.conf
          输入/usr/local/lib,并保存退出
          $  sudo ldconfig 
       添加环境变量
          $  sudo gedit /etc/profile
         在末尾加入:export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH
                               export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH
          $  source /etc/profile
          $  sudo ldconfig

  • 查看opencv是否安装成功

        $  pkg-config --cflags --libs opencv
        如果没有出错,出现很多头文件等,说明安装成功。

  • 查看安装的OpenCV的版本.

       $  pkg-config --modversion opencv

2.遇到的问题

opencv-2.4.9/modules/gpu/src/nvidia/core/NCVPixelOperations.hpp(51):error: a storage class is not allowed in an explicit specialization
下载NCVPixelOperations.hpp替换掉opencv2.4.9内的文件,重新编译。

/data/opencv-2.4.9/modules/gpu/src/graphcuts.cpp:120:54: error: ‘NppiGraphcutState’ has not been declared  
修改/data/opencv-2.4.9/modules/gpu/src/graphcuts.cpp
#if !defined (HAVE_CUDA) || defined (CUDA_DISABLER)   
if !defined (HAVE_CUDA) || defined (CUDA_DISABLER) || (CUDART_VERSION >= 8000) 
重新编译即可。

3.卸载opencv 

    在安装目录下执行
    $  make uninstall
    然后删除系统相关文件
    $  cd /usr/
    $  sudo find . -name "*opencv*" | xargs sudo rm -rf
       上面命令是在当前目录下(包括子目录)查找带有opencv字符串的文件或文件夹并用sudo递归删
       如果为了保险,可以用下面方法
       $ sudo rm -r /usr/local/include/opencv2 /usr/local/include/opencv /usr/include/opencv 
          /usr/include/opencv2 /usr/local/share/opencv /usr/local/share/OpenCV /usr/share/opencv 
          /usr/share/OpenCV /usr/local/bin/opencv* /usr/local/lib/libopencv*

猜你喜欢

转载自blog.csdn.net/u013814184/article/details/81939054