ubuntu14.04安装cuda8.0后,编译安装opencv2.4.13.4

来源:互联网 发布:卓讯数据库 编辑:程序博客网 时间:2024/06/09 23:41

安装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_ARCH_BIN   
CUDA_ARCH_PTX
指的是显卡的计算能力,可以从上边那个网址上查到,也可以从安装cuda时产生的samples文件夹中的bin/x86_64/linux/release/文件夹,运行deviceQuery查询

查询如下: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