利用ubuntu自带的更新管理器或者
sudo apt-get update
sudo apt-get upgrade
2 安装必要的组件
sudo apt-get install build-essential libgtk2.0-dev libjpeg-dev libtiff4-dev libjasper-dev libopenexr-dev cmake Python-dev python-numpy python-tk libtbb-dev libeigen3-dev yasm libfaac-dev libopencore-amrnb-dev libopencore-amrwb-dev libtheora-dev libvorbis-dev libxvidcore-dev libx264-dev libqt4-dev libqt4-opengl-dev sphinx-common texlive-latex-extra libv4l-dev libdc1394-22-dev libavcodec-dev libavformat-dev libswscale-dev default-jdk ant libvtk5-qt4-dev
3 下载opencv2.4.9安装包
http://opencv.org/downloads.html
4 解压安装包
5 安装opencv
cd opencv2.4.9
mkdir build
cd build
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D WITH_TBB=ON -D BUILD_NEW_PYTHON_SUPPORT=ON -D WITH_V4L=ON -D INSTALL_C_EXAMPLES=ON -D INSTALL_PYTHON_EXAMPLES=ON -D BUILD_EXAMPLES=ON -D WITH_QT=ON -D WITH_OPENGL=ON ..
make -j4
出现的问题(1):nvcc fatal : Unsupported gpu architecture 'compute_11'
解决办法:cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D CUDA_GENERATION=Kepler ..
然后继续 make -j4
出现的问题(2):/home/lingck/opencv-2.4.9/modules/gpu/src/nvidia/core/NCVPixelOperations.hpp(129): error: a storage class is not allowed in an explicit specialization
解决办法:http://download.csdn.net/download/solomon1558/9581114这个地址下载NCVPixelOperations.hpp文件替换掉opencv文件夹中的源文件即可
还是继续 make -j4
出现的问题(3):make[2]: *** [modules/gpu/CMakeFiles/opencv_gpu.dir/src/graphcuts.cpp.o] 错误 1
解决办法:打开graphcuts.cpp文件,修改graphcuts.cpp里面的
#if !defined (HAVE_CUDA) || defined (CUDA_DISABLER)
为:
#if !defined (HAVE_CUDA) || defined (CUDA_DISABLER) || (CUDART_VERSION >= 8000)
然后继续 make -j4
make
sudo make install
6 添加环境变量以及测试
sudo gedit /etc/ld.so.conf.d/opencv.conf
在opencv.conf里面加入命令
/usr/local/lib
更新库目录
sudo ldconfig
打开文件bash.bashrc
sudo gedit /etc/bash.bashrc
加入下面两行
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
export PKG_CONFIG_PATH
测试:
在终端下输入python,然后import cv2,然后使用cv2.imread读取一张图片并用cv2.inshow显示出来,即说明opencv安装成功。