使用PCL点云库实现可视化
废话不多说,直接进入正题
点云库配置请参考上篇博文
链接: PCL点云库配置流程.
先看一下效果
直接上代码
#include <pcl/point_types.h>
#include <pcl/io/pcd_io.h>
#include <pcl/io/io.h>
#include <pcl/visualization/pcl_visualizer.h>
using namespace pcl;
using namespace std;
int main()
{
pcl::PointCloud<pcl::PointXYZ>::Ptr point_cloud(new pcl::PointCloud<pcl::PointXYZ>);
//保存转换的输入点云
pcl::io::loadPCDFile("2.pcd", *point_cloud);
cout << "加载完成点云" << endl;
boost::shared_ptr<pcl::visualization::PCLVisualizer> viewer(new pcl::visualization::PCLVisualizer("3D Viewer"));
pcl::visualization::PointCloudColorHandlerGenericField<pcl::PointXYZ> fildColor(point_cloud, "z"); // 按照z字段进行渲染
viewer->addPointCloud<pcl::PointXYZ>(point_cloud, fildColor, "sample cloud");
viewer->setPointCloudRenderingProperties(pcl::visualization::PCL_VISUALIZER_POINT_SIZE, 3, "sample cloud"); // 设置点云大小
while (!viewer->wasStopped())
{
viewer->spinOnce(100);
std::this_thread::sleep_for(100ms);
}
return 0;
}