自宅を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側で出力するのよう修正してみようかな。