コード
#include "stdafx.h"
#include <pcl/visualization/cloud_viewer.h>
#include <iostream>
#include <pcl/io/io.h>
#include <pcl/io/pcd_io.h>
#include <pcl/point_types.h>
#include <stdlib.h>
#include <pcl/visualization/histogram_visualizer.h>
void
viewerOneOff (pcl::visualization::PCLVisualizer& viewer)
{
viewer.setBackgroundColor (1.0, 0.5, 1.0);
}
int _tmain(int argc, _TCHAR* argv[])
{
pcl::PointCloud<pcl::PointXYZRGBA> cloud;
std::string fname = argv[1];
unsigned int loc = fname.find("_vfh",0);
if(loc == std::string::npos)
{
pcl::visualization::CloudViewer viewer("Cloud Viewer");
pcl::io::loadPCDFile (argv[1], cloud);
viewer.runOnVisualizationThreadOnce (viewerOneOff);
viewer.showCloud(cloud.makeShared());
while (!viewer.wasStopped ())
{
}
}
else{
pcl::PointCloud<pcl::VFHSignature308>::Ptr vfhs (new pcl::PointCloud<pcl::VFHSignature308> ());
pcl::io::loadPCDFile(argv[1], *vfhs);
pcl::visualization::PCLHistogramVisualizer hist;
hist.addFeatureHistogram(*vfhs,263,"id",640,200);
std::cout << vfhs->points[0].histogram[308];
while (1)
{
hist.spinOnce (100);
}
}
return (0);
}
おそらくファイル内にある「FIELD」の項目によって機能の切り替えを行うべきなのかもしれないが今回はそれを行っていない。
0 件のコメント:
コメントを投稿