Point Cloud Library 1.8.1 has been released

Point Cloud Library 1.8.1

PCL 1.8.1 has been released.

What’s New?

PCL 1.8.1 is a minor update.
New features has not been added from PCL 1.8.0, but many bugs has been fixed. Please see ChangeList for details.

Binary packages will be distributed on release page of GitHub from this version.
You can download the installer from stable server of GitHub.

In addition, You can install PCL using Vcpkg that is package management system for Visual C++. I will introduce Vcpkg in another article.

What is it?

The features are contained in the PCL as follows.

  • filters
  • fuatures
  • keypoints
  • registration
  • kdtree
  • octree
  • segmentation
  • sample consensus
  • surface
  • range image
  • io
  • visualization

pointcloudlibrary_features

Development Environment

PCL supported OS is Linux, Windows, MacOS X, and other.
Supported development language is C++ and Python.
PCL use internally main dependent libraries (3rdParty) is as follows.*1

Required

  • Boost (C ++ Semi Standard Library)
  • Eigen (Matrix Library)
  • FLANN (Nearest Neighbor Search Library)
  • VTK (Visualization Library)

Optional

*1 In addition, depends on other 3rdParty by function. Qt (GUI Library), CUDA (GPU Development Environment), PCAP (Packet Capture), GLUT (OpenGL Utility Toolkit), GLEW (OpenGL Extension Library), etc.

Download Installer

“PCL All-in-one Installer” is includes pre-built libraries of PCL and 3rdParty.
You can download from the following link.
Please install PCL and 3rdParty by using the downloaded installer.

2017/08/08 Release Installer (PCL 1.8.1, Boost 1.64.0, Eigen 3.3.4, FLANN 1.9.1, VTK 8.0.0 (OpenGL backend), QHull 2015.2, OpenNI 2.2.0.33 Beta)

Visual Studio 2017

Visual Studio 2015

Set Environment Variables

Please set as following the environment variables of system and re-boot your system.

Variable Name Value
PCL_ROOT C:\Program Files\PCL 1.8.1 (or C:\Program Files (x86)\PCL 1.8.1)
Path ;%PCL_ROOT%\bin
;%OPENNI2_REDIST64% (or %OPENNI2_REDIST%)

Generate Your Own Project using CMake

I strongly recommend that to generate project using CMake.*2
Please refer to following documents about How to use CMake and CMakeLists.
In Addition, Please refer to basic CMakeLists for using PCL.

*2 I recommend that to use CMake 3.8.0 or later.

How to use CMake?

How to write CMakeLists?

Basic CMakeLists for PCL

  • Basic CMakeLists.txt for PCL
  • cmake_minimum_required( VERSION 2.8 )
    
    # Create Project
    project( solution )
    add_executable( project main.cpp )
    set_property( DIRECTORY PROPERTY VS_STARTUP_PROJECT "project" )
    
    # Find Packages
    find_package( PCL 1.8 REQUIRED )
    
    if( PCL_FOUND )
      # Additional Include Directories
      # [C/C++]>[General]>[Additional Include Directories]
      include_directories( ${PCL_INCLUDE_DIRS} )
    
      # Preprocessor Definitions
      # [C/C++]>[Preprocessor]>[Preprocessor Definitions]
      add_definitions( ${PCL_DEFINITIONS} )
      #add_definitions( -DPCL_NO_PRECOMPILE )
    
      # Additional Library Directories
      # [Linker]>[General]>[Additional Library Directories]
      link_directories( ${PCL_LIBRARY_DIRS} )
    
      # Additional Dependencies
      # [Linker]>[Input]>[Additional Dependencies]
      target_link_libraries( project ${PCL_LIBRARIES} )
    endif()
    

How to Build Libraries (PCL 1.8.1 and 3rdParty) from Source Code yourself

In many cases, You can use the All-in-one Installer for using PCL.
But, If you want to enable other options or use other compilers, You need to build PCL and 3rdParty yourself.

I will publish the notes of how to build PCL 1.8.1 and latest version 3rdParty.
Please refer to this Notes who want to build the libraries (PCL 1.8.1 and 3rdParty) yourself.

3rdParty Build Notes

PCL Build Note

How to Contribution (issue report, send pull request) and Question?

If you find a bug, you can reported to issues of GirHub.
If you can be fixed bug, you can send pull requests to GitHub repository.

And, If you have any questions, you can post to the PCL Users mailing list.
Please attach the following information in these reports. It will help to resolve your problem.
(You need to tell the appropriate information to resolve your problem.)

  • Error Code and Message
  • Adequate and Simple Source Code for Reproduce or Tutorial URL (e.g. source code sharing service URL like gist)
  • CMake Cache (<CMAKE_BINARY_DIR>CMakeCache.txt) *IMPORTANT
  • CMake Logs (<CMAKE_BINARY_DIR>CMakeFilesCMakeOutput.log)
  • PCL Version (or Commit Hash)
  • Target Compiler and Configure (e.g. “Visual C++ 2017, Release|x64”)
  • Operating System (e.g. “Windows 10 Pro (update 1703) 64bit”)

12 thoughts on “Point Cloud Library 1.8.1 has been released”

  1. Thanks for your work!!!!
    I find no Visual Studio 2013 version here, is it because some features are not supported in msvc2013?

    1. Hi zhangxaochen,

      PCL All-in-one Installer has been created only for latest version of Visual Studio.
      If you want to use old version of Visual Studio, You need to build PCL (and 3rdParty) from source code yourself.

  2. Hi Tsukasa Sugiura,

    Great job , thank you .
    I just wanted to ask you about unorganized point cloud data. I have velodyne (pcap data ) and convert them into pcd data ,but the data I got unorganized point cloud so I cannot use the data for local pipleline (3D object recognition).
    so how to convert unorganized data into organized one.

    1. Hi scofield,

      Perhaps, I think it is not possible to convert point cloud data from unorganized to organized.
      An organized point cloud data is a point cloud where data is split into rows and columns like image.
      The data retrieved from Velodyne sensors is not organized point cloud data.

      If you want more information, I recommend you post to users forum.

  3. Hi Tsukasa Sugiura,

    I keep getting the next error: Warning! PATH too long installer unable to modify PATH!

    Do you know what can i do about this or why this is happening?

    Thanks for the help

    1. Hi Carlos Capetillo,

      The environment variable “PATH” in your system is too long.
      Please remove unnecessary paths from environment variable “PATH”.
      Then, Please choose “Do not add PCL to the system PATH” in the install operation.
      And, Please manually set environment variable “PATH”.

  4. Hi, I’ve downloaded the pcl 1.8.1. When I try to run the “Basic CMakeLists for PCL”, I have trouble in funtion “find_VTK”. The detail error message is:

    By not providing “FindVTK.cmake” in CMAKE_MODULE_PATH this project has
    asked CMake to find a package configuration file provided by “VTK”, but
    CMake did not find one.

    Could not find a package configuration file provided by “VTK” with any of
    the following names:

    VTKConfig.cmake
    vtk-config.cmake

    Add the installation prefix of “VTK” to CMAKE_PREFIX_PATH or set “VTK_DIR”
    to a directory containing one of the above files. If “VTK” provides a
    separate development package or SDK, be sure it has been installed.

    I’ve checked the path and related files are correct. Thanks for help.

    1. Hi Yi Zhu,

      Probably, The generator that you specified in CMake is wrong.
      If you installed PCL using the all-in-one Installer for Win32, You should specify “Visual Studio 15 2017” in CMake.
      If you installed PCL using the all-in-one Installer for Win64, You should specify “Visual Studio 15 2017 Win64” in CMake.
      (I think you need to learn the basic usage of CMake.)
      If you want more information, You need to tell details (Which installer you used?, CMakeChache.txt) to me.

  5. thanks for your hardly work in pcl library.
    your laterest pcl 1.8.1 all-in-one has been installed on my compter Win10-64, while my project is created with VS2017 not cmake, and it can be run well with the old PCL and its third libraries.
    For the same program and code, your laterest (1.8.1) can building well but run with a crash, and the error information is “Generaic Warning: in C:\Build\3rdParty\x64\Vtk8.0.0\Rendering\core\vtkActor.cxx, line 43. Error: no override found for vtkactor” …
    This problem may be caused by the vtk, and i have search from the web and add the following code on the top of the file, which is the first to use VTk. it build well and have the some crash. Specially, i have also test the code from “https://github.com/PointCloudLibrary/pcl/pull/1504” and get the same errors.

    #include <vtkAutoInit.h>
    #define vtkRenderingCore_AUTOINIT 4(vtkInteractionStyle,vtkRenderingFreeType,vtkRenderingFreeTypeOpenGL,vtkRenderingOpenGL)
    #define vtkRenderingVolume_AUTOINIT 1(vtkRenderingVolumeOpenGL)
    #define vtkRenderingVolume_AUTOINIT 1(vtkRenderingOpenGL2)

    #include “stdafx.h”
    …..

    is it the VTK probelm or i need to compile vtk with my own VS2017. Can you help me? thanks.

    1. Hi hubo,

      Are you generate your own project using CMake?
      I can’t support any other way.
      (Perhaps, I think it is easier to support CMake in your existing project.)

  6. Hi, I’ve downloaded the pcl 1.8.1 all-in-one,and I installed it to my computer successfully(Win8.1-64). When I tried to cofigure pcl-1.8.1 using CMake 3.10 (specify “Visual Studio 14 2015 Win64) in CMake.There were many errors.I have tried for several times and I couldn’t handle the problem.There are the CMake Configure lists:

    The C compiler identification is MSVC 18.0.30723.0
    The CXX compiler identification is MSVC 18.0.30723.0
    Check for working C compiler: D:/Program Files (x86)/Microsoft Visual Studio 12.0/VC/bin/x86_amd64/cl.exe
    Check for working C compiler: D:/Program Files (x86)/Microsoft Visual Studio 12.0/VC/bin/x86_amd64/cl.exe -- works
    Detecting C compiler ABI info
    Detecting C compiler ABI info - done
    Check for working CXX compiler: D:/Program Files (x86)/Microsoft Visual Studio 12.0/VC/bin/x86_amd64/cl.exe
    Check for working CXX compiler: D:/Program Files (x86)/Microsoft Visual Studio 12.0/VC/bin/x86_amd64/cl.exe -- works
    Detecting CXX compiler ABI info
    Detecting CXX compiler ABI info - done
    Detecting CXX compile features
    Detecting CXX compile features - done
    Could NOT find PkgConfig (missing: PKG_CONFIG_EXECUTABLE) 
    Performing Test HAVE_MM_MALLOC
    Performing Test HAVE_MM_MALLOC - Failed
    Performing Test HAVE_POSIX_MEMALIGN
    Performing Test HAVE_POSIX_MEMALIGN - Failed
    Performing Test HAVE_SSE4_2_EXTENSIONS
    Performing Test HAVE_SSE4_2_EXTENSIONS - Success
    Performing Test HAVE_SSE4_1_EXTENSIONS
    Performing Test HAVE_SSE4_1_EXTENSIONS - Success
    Performing Test HAVE_SSSE3_EXTENSIONS
    Performing Test HAVE_SSSE3_EXTENSIONS - Success
    Performing Test HAVE_SSE3_EXTENSIONS
    Performing Test HAVE_SSE3_EXTENSIONS - Success
    Performing Test HAVE_SSE2_EXTENSIONS
    Performing Test HAVE_SSE2_EXTENSIONS - Success
    Performing Test HAVE_SSE_EXTENSIONS
    Performing Test HAVE_SSE_EXTENSIONS - Success
    Found OpenMP_C: -openmp (found version "2.0") 
    Found OpenMP_CXX: -openmp (found version "2.0") 
    Found OpenMP: TRUE (found version "2.0")
    Found OpenMP
    Found Eigen: C:/Program Files (x86)/Eigen/include
    Eigen found (include: C:/Program Files (x86)/Eigen/include, version: 3.0.5)
    Found FLANN: C:/Program Files/flann/lib/flann_cpp_s.lib (Required is at least version "1.7.0") 
    FLANN found (include: C:/Program Files/flann/include, lib: optimized;C:/Program Files/flann/lib/flann_cpp_s.lib;debug;C:/Program Files/flann/lib/flann_cpp_s-gd.lib)
    Could NOT find LIBUSB_1 (missing: LIBUSB_1_LIBRARY LIBUSB_1_INCLUDE_DIR) 
    Could NOT find OpenNI (missing: OPENNI_LIBRARY OPENNI_INCLUDE_DIR) 
    CMake Warning at cmake/pcl_targets.cmake:864 (message):
      OpenNI grabber support: not building because OpenNI not found
    Call Stack (most recent call first):
      CMakeLists.txt:296 (PCL_ADD_GRABBER_DEPENDENCY)
    
    Found OpenNI2: C:/Program Files/PCL 1.8.1/3rdParty/Lib/OpenNI2.lib
    OpenNI 2 found (include: C:/Program Files/PCL 1.8.1/3rdParty/Include, lib: C:/Program Files/PCL 1.8.1/3rdParty/Lib/OpenNI2.lib, redist: C:\Program Files\PCL 1.8.1\3rdParty\Redist&#041;
    Could NOT find FZAPI (missing: FZAPI_LIBS FZAPI_INCLUDE_DIRS) 
    CMake Warning at cmake/pcl_targets.cmake:864 (message):
      Fotonic camera support: not building because FZAPI not found
    Call Stack (most recent call first):
      CMakeLists.txt:298 (PCL_ADD_GRABBER_DEPENDENCY)
    
    Could NOT find ensenso (missing: ENSENSO_LIBRARY ENSENSO_INCLUDE_DIR) 
    CMake Warning at cmake/pcl_targets.cmake:864 (message):
      IDS-Imaging Ensenso camera support: not building because Ensenso not found
    Call Stack (most recent call first):
      CMakeLists.txt:299 (PCL_ADD_GRABBER_DEPENDENCY)
    
    Could NOT find davidSDK (missing: DAVIDSDK_LIBRARY DAVIDSDK_INCLUDE_DIR) 
    CMake Warning at cmake/pcl_targets.cmake:864 (message):
      David Vision Systems SDK support: not building because davidSDK not found
    Call Stack (most recent call first):
      CMakeLists.txt:300 (PCL_ADD_GRABBER_DEPENDENCY)
    
    Could NOT find DSSDK (missing: DSSDK_LIBRARIES DSSDK_INCLUDE_DIRS) 
    CMake Warning at cmake/pcl_targets.cmake:864 (message):
      DepthSense SDK support: not building because DSSDK not found
    Call Stack (most recent call first):
      CMakeLists.txt:301 (PCL_ADD_GRABBER_DEPENDENCY)
    
    Could NOT find RSSDK (missing: RSSDK_LIBRARIES RSSDK_INCLUDE_DIRS) 
    CMake Warning at cmake/pcl_targets.cmake:864 (message):
      RealSense SDK support: not building because RSSDK not found
    Call Stack (most recent call first):
      CMakeLists.txt:302 (PCL_ADD_GRABBER_DEPENDENCY)
    
    Could NOT find ZLIB (missing: ZLIB_LIBRARY ZLIB_INCLUDE_DIR) 
    Could NOT find PNG (missing: PNG_LIBRARY PNG_PNG_INCLUDE_DIR) 
    Could NOT find Qhull (missing: QHULL_LIBRARY QHULL_INCLUDE_DIR) 
    VTK_MAJOR_VERSION 8, rendering backend: OpenGL
    VTK found (include: C:/Program Files/PCL 1.8.1/3rdParty/VTK/include/vtk-8.0, lib: vtkChartsCore;vtkCommonColor;vtkCommonCore;vtksys;vtkCommonDataModel;vtkCommonMath;vtkCommonMisc;vtkCommonSystem;vtkCommonTransforms;vtkCommonExecutionModel;vtkFiltersGeneral;vtkCommonComputationalGeometry;vtkFiltersCore;vtkInfovisCore;vtkFiltersExtraction;vtkFiltersStatistics;vtkImagingFourier;vtkImagingCore;vtkalglib;vtkRenderingContext2D;vtkRenderingCore;vtkFiltersGeometry;vtkFiltersSources;vtkRenderingFreeType;vtkfreetype;vtkzlib;vtkDICOMParser;vtkDomainsChemistry;vtkIOLegacy;vtkIOCore;vtklz4;vtkIOXMLParser;vtkexpat;vtkFiltersAMR;vtkIOXML;vtkParallelCore;vtkFiltersFlowPaths;vtkFiltersGeneric;vtkFiltersHybrid;vtkImagingSources;vtkFiltersHyperTree;vtkFiltersImaging;vtkImagingGeneral;vtkFiltersModeling;vtkFiltersParallel;vtkFiltersParallelImaging;vtkFiltersPoints;vtkFiltersProgrammable;vtkFiltersSMP;vtkFiltersSelection;vtkFiltersTexture;vtkFiltersTopology;vtkFiltersVerdict;verdict;vtkGeovisCore;vtkIOImage;vtkmetaio;vtkjpeg;vtkpng;vtktiff;vtkInfovisLayout;vtkImagingHybrid;vtkInteractionStyle;vtkInteractionWidgets;vtkImagingColor;vtkRenderingAnnotation;vtkRenderingVolume;vtkViewsCore;vtkproj4;vtkIOAMR;vtkhdf5_hl;vtkhdf5;vtkIOEnSight;vtkIOExodus;vtkexoIIc;vtkNetCDF;vtkIOExport;vtkRenderingGL2PS;vtkRenderingContextOpenGL;vtkRenderingOpenGL;vtkgl2ps;vtklibharu;vtkIOExportOpenGL;vtkRenderingLabel;vtkIOGeometry;vtkIOImport;vtkIOInfovis;vtklibxml2;vtkIOLSDyna;vtkIOMINC;vtkIOMovie;vtkoggtheora;vtkIONetCDF;vtknetcdfcpp;vtkIOPLY;vtkIOParallel;vtkjsoncpp;vtkIOParallelXML;vtkIOSQL;vtksqlite;vtkIOTecplotTable;vtkIOVideo;vtkImagingMath;vtkImagingMorphological;vtkImagingStatistics;vtkImagingStencil;vtkInteractionImage;vtkRenderingImage;vtkRenderingLIC;vtkRenderingLOD;vtkRenderingVolumeOpenGL;vtkViewsContext2D;vtkViewsInfovis
    Could NOT find PCAP (missing: PCAP_LIBRARIES PCAP_INCLUDE_DIRS) 
    Looking for pthread.h
    Looking for pthread.h - not found
    Found Threads: TRUE
    CMake Error at C:/Program Files/CMake/share/cmake-3.10/Modules/FindBoost.cmake:1928 (message):
      Unable to find the requested Boost libraries.
    
    Boost version: 1.64.0
    
    Boost include path: C:/Program Files/PCL
      1.8.1/3rdParty/Boost/include/boost-1_64
    
    Could not find the following static Boost libraries:
    
    <code>      boost_system
          boost_filesystem
          boost_thread
          boost_date_time
          boost_iostreams
          boost_chrono
    </code>
    
    Some (but not all) of the required Boost libraries were found.  You may
      need to install these additional Boost libraries.  Alternatively, set
      BOOST_LIBRARYDIR to the directory containing Boost libraries or BOOST_ROOT
      to the location of Boost.
    Call Stack (most recent call first):
      cmake/pcl_find_boost.cmake:40 (find_package)
      CMakeLists.txt:418 (include)
    
    Found OpenGL: opengl32
    DOXYGEN_FOUND 
    HTML_HELP_COMPILER 
    Found CPack generators: NSIS
    The following subsystems will be built:
    The following subsystems will not be built:
      common: Requires external library boost.
      octree: Requires common.
      io: Requires octree.
      kdtree: Requires common.
      search: Requires octree.
      sample_consensus: Requires search.
      filters: Requires octree.
      2d: Requires filters.
      geometry: Requires common.
      features: Requires 2d.
      ml: Requires common.
      segmentation: Requires ml.
      visualization: Requires search.
      surface: Requires octree.
      registration: Requires filters.
      keypoints: Requires filters.
      tracking: Requires octree.
      recognition: Requires ml.
      stereo: Requires io.
      apps: No reason
      outofcore: Requires visualization.
      examples: Code examples are disabled by default.
      people: Requires octree.
      simulation: Disabled by default.
      global_tests: No reason
      tools: Requires ml.
    Configuring incomplete, errors occurred!
    See also "C:/pcl/CMakeFiles/CMakeOutput.log".
    See also "C:/pcl/CMakeFiles/CMakeError.log".
    

    Besides pcl 1.6.0 worked well in my computer.In order to use the ply2pcd function I want to install PCL1.8.1 and pcl1.6.0 cannot fulfill the .ply to .pcd.
    Can you give me a favor? I spent two days installing PCL and I wish it can work well desperately.I am looking forward to your reply.
    Thanks and best wishes!

    1. Hi Orange,

      Your log information doesn’t match your description.

      PCL All-in-one Installer includes PCL and all dependents libraries (3rdParty).
      If you want to use pre-built PCL and 3rdParty, You don’t need to install dependent libraries yourself.
      (You should not use them. Please uninstall thease libraries.)

      Found Eigen: C:/Program Files (x86)/Eigen/include
      Eigen found (include: C:/Program Files (x86)/Eigen/include, version: 3.0.5)
      Found FLANN: C:/Program Files/flann/lib/flann_cpp_s.lib (Required is at least version "1.7.0") 
      FLANN found (include: C:/Program Files/flann/include, lib: optimized;C:/Program Files/flann/lib/flann_cpp_s.lib;debug;C:/Program Files/flann/lib/flann_cpp_s-gd.lib)
      

      In case of your system, It seems to OpenNI2 installation location is not default path.
      I think it is better to install with default path (C:/Program Files/OpenNI2).
      Please uninstall and reinstall with default settings.

      Found OpenNI2: C:/Program Files/PCL 1.8.1/3rdParty/Lib/OpenNI2.lib
      OpenNI 2 found (include: C:/Program Files/PCL 1.8.1/3rdParty/Include, lib: C:/Program Files/PCL 1.8.1/3rdParty/Lib/OpenNI2.lib, redist: C:\Program Files\PCL 1.8.1\3rdParty\Redist)
      

      You say specify generator “Visual Studio 14 2015 Win64” in CMake.
      But, CMake found the compiler is Visual Studio 2013.
      Probably, Your specify is wrong.

      The CXX compiler identification is MSVC 18.0.30723.0
      Check for working CXX compiler: D:/Program Files (x86)/Microsoft Visual Studio 12.0/VC/bin/x86_amd64/cl.exe
      

      If you want to use PCL 1.8.1 with Visual Studio 2015 (x64), You need install PCL and 3rdParty using “PCL-1.8.1-AllInOne-msvc2015-win64.exe”.
      And, You need specify generator “Visual Studio 14 2015 Win64” in CMake.

Leave a Reply

Your email address will not be published. Required fields are marked *