ubuntu14.04 下安装GPU版本的OpenCV3.2(CUDA支持)步骤与一些问题

参考http://blog.csdn.net/wzmsltw/article/details/52718472

最近想对现在使用的跟踪程序进行加速,发现自己安装的opencv,没有支持CUDA,查了资料才知道opencv安装时很多选项要修改。

安装对cuda支持的opencv,需要之前安装好cuda,安装完cuda同时也附带了opencl的库,可以安装opencv对opencl的支持

首先安装依赖库

sudo apt-get update  
sudo apt-get install libopencv-dev build-essential checkinstall cmake pkg-config yasm libtiff4-dev 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  
sudo add-apt-repository ppa:jon-severinsson/ffmpeg    
sudo apt-get update    
sudo apt-get install ffmpeg    
sudo apt-get install frei0r-plugins 

然后下载opencv的资源

mkdir OpenCV    
cd OpenCV    
git clone https://github.com/Itseez/opencv.git 


此处最好修改一个地方,在

modules\imgproc\src\imgwarp.cpp
中,有一个opencv还未修改的小bug,当图像过大时会报错。打开这个文件,将两处 CV_Assert( ssize.area() > 0 );和一处 CV_Assert( dsize.area() > 0 );
注释掉,再编译就能暂时祛除错误。


然后进行cmake,注意最后是空格加两个点

cd opencv    
mkdir release    
cd release    
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 -D ENABLE_FAST_MATH=1 -D CUDA_FAST_MATH=1 -D WITH_CUBLAS=1 -D BUILD_TIFF=ON ..

注意在cmake界面中检查CUDA和OpenCL等想要配置的是否为YES

--     Use Cuda:                    YES (ver 8.0)  
--     Use OpenCL:                  YES  
--   
--   NVIDIA CUDA  
--     Use CUFFT:                   YES  
--     Use CUBLAS:                  YES  
--     USE NVCUVID:                 NO  
--     NVIDIA GPU arch:             11 12 13 20 21 30 35  
--     NVIDIA PTX archs:            30  
--     Use fast math:               YES  

之后make and install

make    
sudo make install   

配置bashrc,保证找到opencv库的位置

echo '/usr/local/lib' | sudo tee -a /etc/ld.so.conf.d/opencv.conf    
sudo ldconfig    
printf '# OpenCV\nPKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig\nexport PKG_CONFIG_PATH\n' >> ~/.bashrc    
source ~/.bashrc


这里我抛出自己的一个问题

我安装完ros之后,ros自带的opencv也安装上了,但是这个opencv没有cuda和opencl等其他工具的部分

但是每次cmake包的时候,都是自动链接ros自带的这个opencv,导致程序找不到opencv中的cuda等工具,使程序不通,我找了好久才找到问题,这时需要先cmake一遍之后,再用cmake-gui,将opencv的链接换到你自己安装的opencv包的路径,再configure,就能找到其他的链接.

这是一个本办法,我想,肯定有更好的方法,求大神们指导,谢谢!

ubuntu14.04 下安装GPU版本的OpenCV3.2(CUDA支持)步骤与一些问题_第1张图片

ubuntu14.04 下安装GPU版本的OpenCV3.2(CUDA支持)步骤与一些问题_第2张图片



你可能感兴趣的:(opencv)