PCL(Point Cloud Library) は3次元の点群(Point Cloud)を扱うためのライブラリです。このライブラリを使うことで、KinectやXtionで取得したデータを簡単に3次元で表示することができます。また、さまざまなアルゴリズムを搭載しており、今まででは難しい表現をより簡単に行うことができるようになっています。
このPCL自体は KINECT for Windows SDKプログラミング C++編 でも紹介しているのですが、自分が使う機会ができたので、少しずつ触ってみます。なお、背景の知識や細かいことはほぼわからないため、ほかのサイトを参考にされることをオススメします。
というわけで、まずはインストールから。
PCLのダウンロードサイト( http://pointclouds.org/downloads/windows.html )からバイナリをダウンロードします。今回の環境は Windows 8 Pro 64bit と Visual Studio 2012 Ultimate で進めますが、バイナリは32bit版を選択しました。自分でアプリケーションを作る際に32bit(Win32)アプリケーションにすれば普通に動くと思います。
なお、PCLのバージョンは1.6.0です。
このインストーラはPCLのほかにboostなどサードパーティー製のライブラリが一式入っています。またPCL用にカスタマイズされたOpenNIおよびSnesor(Xtion用ドライバ)も入っているので、すでにOpenNIがインストールされている場合は、アンインストールしてください。Avin2のSnesorKinectではないため、Kinectは動作しませんが、後のほうで Kinect for Windows SDK と連携させるようにする予定です( KINECT for Windows SDKプログラミング C++編 ではすでに解説しています)。
インストーラをダウンロードしたら、インストールを開始します。基本的に指示に従って進めばよいです。OpenNIのインストールでは、失敗する場合もありますがその際は再度インストールを行ってください。また、ドライバのインストールも行われ、インストール可否を聞かれるので、許可してください。最後に環境変数の登録を聞かれるので、登録するようにしてください。
インストールすると「C:\Program Files (x86)\PCL 1.6.0」にファイルが展開されます。binフォルダ以下にDLLやサンプルプログラムが格納されています。openniなんちゃらとついているのがPCLとOpenNIを使ったアプリケーションです。ここでは動作確認のために「openni_voxel_grid_release.exe」を実行してみます(デバイスはXtion Pro LIVE)です。3次元化された点群が表示できればOKです。マウスでぐりぐりすると視点が変わります。
[amazon asin='9784798033709']
[amazon asin='B0067PGV8M']