PCL点云库学习(1):环境配置(Ubuntu16.04+QT5+VTK8.0)

方式一:从公共软件源安装

sudo apt-get install libpcl-dev pcl-tools

直接输入上面代码安装,不保证必定能行。有一堆依赖的东西,保不许就报错了。php

方式二:编译安装

若是上面的方法安装出错了,那就一步一步本身手动安装把。linux

依赖库

依赖库也是个贼烦人的东西,没有的话也会报错。有:Boost、Eigen、FLANN、VTK(QT5)。git

Boost

sudo apt-get install libboost-all-dev

Eigen

sudo apt-get install libeigen3-dev

FLANN

sudo apt-get install libflann-dev

QT5:

去官网下载QT5的run文件:
好比:个人是qt-opensource-linux-x64-5.2.1.run ,那么以下输入指令:github

sudo chmod a+x qt-opensource-linux-x64-5.2.1.run 
./qt-opensource-linux-x64-5.2.1.run

直接安装就行,按照默认设置也行,本身设置也行,可是要记住安装路径,编译VTK时要用到。web

VTK-8.0

按照文档(https://www.vtk.org/Wiki/VTK/Building/Linux)来:
一、下载源码:ruby

git clone git://vtk.org/VTK.git VTK

若是没有科学上网,速度会比较慢,请耐心等一下子。
二、建立文件夹,存放编译后的文件:bash

mkdir VTK-build
cd VTK-build

三、使用前面安装好的QT5来编译VTK:svg

cd /path/to/VTK-Release-build(就是前面建好的VTK-build,若是已经进去了,跳过这一步)
cmake -DVTK_QT_VERSION:STRING=5 \
      -DQT_QMAKE_EXECUTABLE:PATH=/path/to/qt5.2.1-install/5.2.1/gcc_64/bin/qmake \       -DVTK_Group_Qt:BOOL=ON \       -DCMAKE_PREFIX_PATH:PATH=/path/to/qt.5.2.1-install/5.2.1/gcc_64/lib/cmake \       -DBUILD_SHARED_LIBS:BOOL=ON  /path/to/VTK

这一段是直接从文档上摘下来的,须要咱们对着改为本身的:测试

  • -DVTK_QT_VERSION:STRING=5:QT版本是4,若是是QT4就改为4;
  • -DQT_QMAKE_EXECUTABLE:PATH=/path/to/qt5.2.1-install/5.2.1/gcc_64/bin/qmake:你的qmake,到你的安装路径中找到qmake,把它的路径填在这一项;
  • DVTK_Group_Qt:BOOL=ON:咱们是用QT编译的,因此要开这个;
  • -DCMAKE_PREFIX_PATH:PATH=/path/to/qt.5.2.1-install/5.2.1/gcc_64/lib/cmake:到安装路径中找到cmake,把它的路径填到这一项;
  • -DBUILD_SHARED_LIBS:BOOL=ON:不作赘述;
  • /path/to/VTK:cmake的输出路径,就填前面创建的VTK-build文件夹的路径就行。
    四、在VTK-build文件夹下进行编译:
make -j2

五、安装:ui

sudo make install

安装PCL

参考这个文档:http://pointclouds.org/documentation/tutorials/compiling_pcl_posix.php,一步一步往下作。
一、下载PCL源码:

git clone https://github.com/PointCloudLibrary/pcl pcl-trunk

二、按照下面的操做编译安装:

cd pcl-pcl-1.8.0 && mkdir build && cd build
cmake -DCMAKE_BUILD_TYPE=Release ..
make -j2
sudo make install

这样子能够编译经过,也能够运行,可是我还碰到了个小问题:
cmake -DCMAKE_BUILD_TYPE=Release .. 这一步,它有一些模块没有编译,因此咱们还须要手动打开。
在我编译时visualization这个模块没有被编译,致使不少程序无法将结果可视化:
cmake的结果中注意下这一部分中有没有visualization模块:
这里写图片描述
若是有的话要本身修改,嫌改cmakelist麻烦的话,直接使用cmake-gui模块便可。
安装cmake-gui:

sudo apt-get install cmake-gui

使用图形界面更改cmakelist:

cmake-gui ./

很简单的东西,很少说了。
最后咱们要保证这些经常使用的模块都勾选到了:

-- The following subsystems will be built: -- common -- kdtree -- octree -- search -- sample_consensus -- filters -- tracking -- geometry -- io -- 2d -- features -- visualization -- ml -- segmentation -- people -- keypoints -- outofcore -- stereo -- surface -- registration -- recognition -- tools 

测试是否安装成功

(参考自:http://blog.csdn.net/wanguku/article/details/60476469
pcl-trunk->doc->tutorials->content->sources下有PCL例程:例如cloud_viewer文件夹下的cloud_viewer.cpp
step1:首先建立demo文件夹
step2:而后将cloud_viewer.cpp和cmakelists考到demo目录下
step3:在demo文件夹下打开终端
step4:cmake 而后 make,最后./cloud_viewer,若是出现以下图,则PCL安装成功
个人运行结果:
这里写图片描述

接下来就能够愉快地玩耍了。