Point Cloud Library 1.9.0 has been released

Point Cloud Library 1.9.0

PCL 1.9.0をリリースしました。

What’s New?

PCL 1.9.0はいくつかの新しい機能の追加と多くのバグが修正されました。
詳細はChangeListを参照してください。

新たにWindowsのCIを実装、運用をはじめました。すべてのコミットはWindows環境においてもビルド、テストされます。
PCL 1.9.0はWindows環境ですべてのテストケースをパスしています。Linuxなど他のプラットフォームと同じ品質で動作します。

What is it?

Point Cloud Library (PCL)は、3次元点群処理のためのオープンソースのライブラリです。
センサーやファイルから取得した3次元点群のデータに対する様々な処理が含まれています。

Features

PCLに含まれている主な機能は以下のとおりです。

  • filters (フィルタリング)
  • fuatures (特徴量)
  • keypoints (特徴点)
  • registration (位置合わせ)
  • kdtree (kd木)
  • octree (八分木)
  • segmentation (領域分割)
  • sample consensus (サンプリングコンセンサス)
  • surface (サーフェス)
  • range image (レンジ画像)
  • io (入出力)
  • visualization (可視化)

pointcloudlibrary_features

Development Environment

PCLはLinux、Windows、MacOSX、AndroidなどのOSで動作します。
開発言語はC++、Pythonです。
PCLが内部で利用している主な依存ライブラリ(3rdParty)は以下のとおりです。*1

Required

  • Boost (C++準標準ライブラリ)
  • Eigen (行列ライブラリ)
  • FLANN (最近傍探索ライブラリ)
  • VTK (可視化ライブラリ)

Optional

*1 この他にもPCLの機能によってはQt(GUIライブラリ)、CUDA(GPU開発環境)、PCAP(パケットキャプチャ)、GLUT(OpenGLのユーティリティツールキット)、GLEW(OpenGLの拡張機能ライブラリ)、…などの3rdPartyライブラリに依存する。

Download Installer

PCL 1.9.0のAll-in-one Installerは以下のリンクからダウンロードしてください。

2018/11/06 Release Installer (PCL 1.9.0, Boost 1.68.0, Eigen 3.3.5, FLANN 1.9.1, VTK 8.1.2 (OpenGL backend), QHull 2015.2, OpenNI 2.2.0.33 Beta)

Visual Studio 2017

Set Environment Variables

環境変数は以下のように設定してください。

変数名 変数値
PCL_ROOT C:\Program Files\PCL 1.9.0 (またはC:\Program Files (x86)\PCL 1.9.0)
Path ;%PCL_ROOT%\bin
;%OPENNI2_REDIST64% (または%OPENNI2_REDIST%)

Generate Your Own Project using CMake

CMakeを使ってプロジェクトを生成することを強く推奨します。*2
CMakeの使い方やCMakeListsの書き方は以下のドキュメントを参照してください。
また、PCLを使用するときの基本的なCMakeListsを示すので参考にしてください。

*2 CMake 3.8.0以降を推奨します。

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.9 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.9.0 and 3rdParty) from Source Code yourself

多くの場合、PCL All-in-one Installerを使うことで簡単に開発環境を構築することができます。
しかし、特定のオプションや他のコンパイラを利用したい場合、PCLおよび3rdPartyを自分でビルドする必要があります。

PCL 1.9.0と3rdPartyのビルドメモを公開します。
基本的にこちらのメモに沿ってビルドすることができます。
自分でPCLの開発環境を構築したい方はこちらを参考にしてください。

3rdParty Build Notes

PCL Build Note

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

不具合を発見した場合はGitHubのissuesで報告、修正できる場合はpull requestを送くるととても喜ばれます。

また、質問などがある場合はusers forumに投稿することをお勧めします。
これらのレポートには、以下の詳細な情報を含めて送ると問題の解決に役立ちます。

  • 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>\CMakeFiles\CMakeOutput.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”)

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です