自宅をSLAMったー(2)

前回、mrpt-appsのkinect-3d-slamで適当に三次元形状データを撮ったわけですが、出力されたtxtをビューできなかったので、PCL(PointCloudLibrary)に食わせて、ビューしてみました。
以前からPCLには興味があったのですが、手つかずだったので勉強のつもりで。
@otlさんエントリの真似をしただけなので、大したこともないのですが、書き留めておきます。

  • インストール

@otlさんの手順そのままですが一応。

$ sudo add-apt-repository ppa:v-launchpad-jochen-sprickerhof-de/pcl
$ sudo apt-get update
$ sudo apt-get install libpcl-1.1-dev

簡単だ..

  • ビルド

ソースコードも@otlさんのをコピってテキストを読むように修正して..
で、コンパイル。@otlさんはcmakeを使ってました。私は勉強のために自分でMakefileを書いてみました。

SRC = \
	main.cpp
DST = sample

prefix  = /usr
INCPATH = $(prefix)/include
LIBPATH = $(prefix)/lib 

OPT = \
	-lpcl_common -lpcl_io -lpcl_visualization
CC  = g++ -O

CFLAGS  = \
	-I$(INCPATH)/pcl-1.1 \
	-I$(INCPATH)/eigen3 \
	-I$(INCPATH)/vtk-5.4
LDFLAGS = -L. -L$(LIBPATH) 

all:
	$(CC) $(SRC)  -o $(DST) $(CFLAGS)  $(LDFLAGS) $(OPT)

行列ライブラリのEigenとビューアー用のvtkのインクルードパスを記述する必要があります。
CMakeはこれを吸収してくれるのだから便利だな。使い方をちゃんと覚えなくては。

  • 実行



点群が綺麗にビューできました。

  • まとめ・課題

かけた時間は約2時間。「OpenGLわかんねー、ひ〜」とか言いながらビューアを書いてたのが馬鹿らしくなります。
描画できましたが、テクスチャが反映されていないのが課題です。kinect-3d-slam側で出力するのよう修正してみようかな。