pcd文件的可视化
#include<pcl/io/pcd_io.h>
#include<pcl/io/ply_io.h>
#include<pcl/visualization/cloud_viewer.h>
void viewerOneOff(pcl::visualization::PCLVisualizer& viewer)
{
viewer.setBackgroundColor(0, 0, 0); //设置背景颜色为黑色
}
bool tool_class::openPcd(std::string pcdFile)
{
pcl::console::TicToc time; time.tic();
pcl::PointCloud<pcl::PointXYZ>::Ptr cloud(new pcl::PointCloud<pcl::PointXYZ>);
if (-1 == pcl::io::loadPCDFile(pcdFile.c_str(), *cloud))
{
std::cout << "error input!" << std::endl;
return false;
}
std::cout << cloud->points.size() << std::endl;
pcl::visualization::CloudViewer viewer("Cloud Viewer: Rabbit");
viewer.showCloud(cloud);
viewer.runOnVisualizationThreadOnce(viewerOneOff);
cout << time.toc() / 1000 << "s" << endl;
system("pause");
return true;
}
结果展示
点云指针类型的可视化(pcl::PointCloudpcl::PointXYZ::Ptr)
#include<pcl/io/pcd_io.h>
#include<pcl/io/ply_io.h>
#include<pcl/visualization/cloud_viewer.h>
void viewerOneOff(pcl::visualization::PCLVisualizer& viewer)
{
viewer.setBackgroundColor(0, 0, 0); //设置背景颜色为黑色
}
bool tool_class::openPcd(pcl::PointCloud<pcl::PointXYZ>::Ptr cloud)
{
pcl::console::TicToc time;
time.tic();
std::cout << cloud->points.size() << std::endl;
pcl::visualization::CloudViewer viewer("Cloud Viewer: Rabbit");
viewer.showCloud(cloud);
viewer.runOnVisualizationThreadOnce(viewerOneOff);
cout << time.toc() / 1000 << "s" << endl;
system("pause");
return true;
}