安装cuda8.0后,本来打算安装opencv2.4.9,但是存在很多问题,所以直接安装2.4.13.4,下载地址从github中下载,https://github.com/opencv/opencv/tree/2.4.13.4。下载好后,解压,进入该目录
首先安装依赖项:
sudo apt-get -qq install libopencv-dev build-essential checkinstall cmake pkg-config yasm \
libjpeg-dev libjasper-dev libavcodec-dev libavformat-dev libswscale-dev libdc1394-22-dev libxine-dev \
libgstreamer0.10-dev libgstreamer-plugins-base0.10-dev libv4l-dev python-dev python-numpy libtbb-dev \
libqt4-dev libgtk2.0-dev libfaac-dev libmp3lame-dev libopencore-amrnb-dev libopencore-amrwb-dev libtheora-dev \
libvorbis-dev libxvidcore-dev x264 v4l-utils ffmpeg cmake qt5-default checkinstall
然后编译
cmake -D CUAD_GENERATION=Kepler -D CUDA_ARCH_BIN=3.0 -D CUDA_ARCH_PTX=3.0 -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 ..
几个参数说明:
CUAD_GENERATION=Kepler
指的是GPU架构,这个查询可以从https://en.wikipedia.org/wiki/CUDA这里查询。
指的是显卡的计算能力,可以从上边那个网址上查到,也可以从安装cuda时产生的samples文件夹中的bin/x86_64/linux/release/文件夹,运行deviceQuery查询CUDA_ARCH_BIN
CUDA_ARCH_PTX
查询如下:cuda capability major 3.0,所以上述两个参数设置为3.0
然后 make
再sudo make install
如果遇到错误/usr/lib: cannot find lcuda,则首先查询cuda的位置
locate libcuda
然后在opencv的目录下,执行
cp /usr/lib/x86_64-linux-gun/libcuda.so.1 build/
然后重复sudo make install即可完成
注:
使用pkg-config --libs opencv可以查询到lib名称
参考:
1. https://help.ubuntu.com/community/OpenCV
2. https://en.wikipedia.org/wiki/CUDA
3. https://www.2cto.com/net/201612/572408.html
4. http://blog.csdn.net/fengbingchun/article/details/53844852