三次元の点群データを扱う上で、Point Cloud Library(PCL)は強力なライブラリです。
PCLはC++言語によるオープンソースのソフトウェアライブラリで、C++ベースで様々な点群への処理を比較的簡単に記述することができます。
しかし、PCLには、様々な他のライブラリが使われており、環境構築をゼロから行おうとすると結構めんどくさいです。
本日は、PCLの環境構築を行い、ビルドを通すところまでをやってみます。
PCLのAll-in-one Installer(外部ライブラリ等もまとめてインストールしてくれるインストーラ)がありがたいことに公開されています。
以下のページからダウンロードしました。
外部ページ:Point Cloud Library 1.8.1 has been released – Summary?Blog
自分のVisual Studioのバージョンに合うALL-in-One installerをダウンロードしましょう。私はVisual Studio 2015のx64でダウンロードしました。
インストーラーを起動した後は、基本的には指示通りにインストールしていきましょう。
基本的にデフォルトで「次へ」を押していけばよいはずですが、途中で環境変数を通すかどうか聞かれたので、ここだけはデフォルトではなく通す方を選択しました。
インストール中にOpenNIのインストーラーも起動するので、OpenNIもインストールしました。
その後に、パスが長すぎてパスを直せない云々の警告が出ましたが、一旦は放置でOKで次に行きます。
これにて、インストールは完了です。
OpenNIとPCLの環境変数を設定する必要があります。セットアップ中に警告が出たので、確認しておきましょう。
PCL関連の環境変数が一つと、OpenNI関連の環境変数が三つ通っていることを確認してください。
その後、Pathを選択し、編集を押します。
そして「%PCL_ROOT%\bin」と「%OPENNI2_REDIST64%」を追加します。
これで環境変数の設定は完了です。
この後、Visual Studioを用いてサンプルプログラムを作ることになりますが、PCLは様々な外部ライブラリ(EigenやBoostなど)が多く使われており、ゼロからビルドまで持っていくのは大変です。
そこで、CMakeを用いてVisual Studioのソリューションファイルを作るのが簡単です。
そのために、CMakeをダウンロード&インストールしましょう。
まずはじめに、CMakeの公式より、Cmakeの最新バージョンをダウンロードします。
外部サイト:CMake
Download Latest Releaseより、最新版のCMakeをダウンロードしましょう。Windows用のInstallerを選択します。
ダウンロードしたインストーラを起動し、それに従ってCMakeをインストールします。基本的にはデフォルトのまま「Next」でOKです。
保存先も好きな場所を指定してください。今回はCドライブ直下としました。
これにて、CMakeのインストールは完了です。
CMakeを用いてビルドを行っていきますが、その前に使用するソースコードと、「CMakeLists.txt」を入手します。
外部サイト:Basic CMakeLists for PCL · GitHub
右の「Download ZIP」をクリックして、ZIPファイルをダウンロードしてください。
ZIPファイルを解凍すると「main.cpp」と「CMakeLists.txt」があります。これを適当なフォルダに置きます。
次にCMakeを立ち上げます。SourceCodeに「main.cpp」と「CMakeLists.txt」を置いたフォルダを指定します。
また、Where to build the binariesに、Visual Studioのソリューションファイルを作りたいフォルダを選択します。こちらはフォルダがなければ作ることを求められるため、好きな場所を選択すればよいでしょう。
その後、「Configure」を選択します。
無事Configuring doneに至ったら、次は横のGenerateを押してください。
これで、Generating doneとなれば、完了です。ビルド先として選択したフォルダの中にVisual Studioのソリューションファイルができていることを確認してください。
この「solution.sln」を立ち上げます。
問題なくビルドが通ることを確認してください。
今後は、このprojectにコードを追加していくことで、PCLを用いたプログラムを書くことができます。
今日はPCLの環境構築を行いました。
次回からはPCLを使った点群処理を行っていきたいと思います。