2015年2月22日日曜日

PCLの動作の確認

 一つ前の記事でプロジェクトの設定などは完了しているので、ちゃんと動作するかの確認のためにPCLを使った短いコードを動かしてみる。

コード
 
#include "stdafx.h"

#include <pcl/visualization/cloud_viewer.h>
#include <iostream>
#include <pcl/io/io.h> 
#include <pcl/io/pcd_io.h>
 
 
void viewerOneOff (pcl::visualization::PCLVisualizer& viewer)
{
    viewer.setBackgroundColor (0.0, 0.0, 0.8);
    pcl::PointXYZ o;
    o.x = 0;
    o.y = 0;
    o.z = 0.5;
    viewer.addSphere (o, 0.25, "sphere", 0);   
}


int _tmain(int argc, _TCHAR* argv[])
{

    pcl::visualization::CloudViewer viewer("Cloud Viewer");
    viewer.runOnVisualizationThreadOnce (viewerOneOff);
    while (!viewer.wasStopped ())
    {
    }
    return 0;
}
 
 上のコードをコンパイルして実行すると ↓のような画面が表示されるはず
 
 
簡単な説明
 
 このプログラムは画像のような球体を表示するだけで他には一切なにもしない。この球体はPCLの中にある関数の viewer.addSphere で追加される。引数の一つ目には座標、2つ目は球体の半径、3つ目はID(通常は”sphere”)、4つ目は視点の位置。
 ちなみにこのViewerは古い版で最新のバージョンのPCLではもっと多機能なViewerを使うことができる。その分コードが若干面倒になる。ただただ点群を表示するだけならこれで十分

0 件のコメント:

コメントを投稿