为了使用cuda和pcl共同编程,而系统带的pcl1.7不带gpu模块,故编译安装pcl完全版,与系统pcl1.7共存,不同分发版本Ubuntu应该没有什么区别,不同版本pcl编译和使用道理也都基本相同,opencv也是一样的道理。
这里以pcl-1.8为例,其他版本可在GitHub上pcl代码仓库的release处下载源码。
从GitHub克隆源码,建立build文件夹准备编译:
git clone https://github.com/PointCloudLibrary/pcl.git
cd pcl
mkdir build
cd build
一般编译(然而我们不这么编译,看下一条):
cmake -DCMAKE_BUILD_TYPE=Release ..
指定gpu功能的编译,并指定安装文件位置为“/home/ziqi/pcl-1.8”:
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/home/ziqi/pcl-1.8 -DBUILD_GPU=ON -DBUILD_apps=ON -DBUILD_examples=ON ..
根据cpu核心数目不同,选择编译使用的-j选项,如使用6个核心编译:
make -j6
编译后安装到之前指定的文件夹(即“/home/ziqi/pcl-1.8”)
sudo make -j6 install
set(PCL_DIR "/home/ziqi/pcl-1.8/share/pcl-1.8")
find_package(PCL 1.8 REQUIRED COMPONENTS)
include_directories(${PCL_INCLUDE_DIRS})
link_directories(${PCL_LIBRARY_DIRS})
add_definitions(${PCL_DEFINATIONS})
因为我们把pcl-1.8安装到了一个新的位置,没有覆盖安装系统原来的pcl-1.7,因此是可以共存的。使用源码编译安装的pcl-1.8的时候,只需要如上修改PCL_DIR即可。
cuda pcl混合编程的一个例子可以使用我测试使用的代码:测试代码。
参考
https://www.vtk.org/Wiki/VTK/Building/Linux
http://blog.csdn.net/wanguku/article/details/60476469?readlog
下载源码,解压缩,比如解压后的文件夹为“opencv-3.2.0”:
建立build文件夹准备编译:
cd /opencv-3.2.0
rm -rf build
mkdir build
cd build
编译两个包,指明安装位置,默认为/usr/local,指明opencv3.2-contribute模块位置:
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local -DOPENCV_EXTRA_MODULES_PATH=path to opencv_contrib-3.2.0/modules/ ..
只编译opencv3.2:
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local ..
根据cpu核心数目不同,选择编译使用的-j选项,如使用6个核心编译:
make -j6
安装:
sudo make -j6 install
set(OpenCV_DIR "/usr/local/opencv320/share/OpenCV/")
find_package(OpenCV)
include_directories(${OpenCV_INCLUDE_DIRS})
link_directories(${OpenCV_LIBRARY_DIRS})
add_definitions(${OpenCV_DEFINATIONS})
参考
http://blog.csdn.net/lql0716/article/details/54564721
https://docs.opencv.org/master/d7/d9f/tutorial_linux_install.html
https://www.pyimagesearch.com/2015/06/22/install-opencv-3-0-and-python-2-7-on-ubuntu