该篇是读取一个PCD格式的点云数据然后进行Z轴高度渲染并显示。
#include<iostream>
#include<pcl/io/pcd_io.h>
#include<pcl/visualization/cloud_viewer.h>
int user_data;
using std::cout;
using namespace std;
int main() {
pcl::PointCloud<pcl::PointXYZ>::Ptr cloud(new pcl::PointCloud<pcl::PointXYZ>);
if (pcl::io::loadPCDFile<pcl::PointXYZ>("cloud_section.pcd", *cloud) == -1) {
PCL_ERROR("Couldn't read file test_pcd.pcd \n");
return (-1);
}
cout << cloud->points.size() << endl;
pcl::visualization::PCLVisualizer viewer("display");//创建显示对象
viewer.setBackgroundColor(0, 0, 0);//设置显示背景颜色
pcl::visualization::PointCloudColorHandlerGenericField<pcl::PointXYZ> fildColor(cloud, "z");//按照z字段进行渲染
viewer.addPointCloud<pcl::PointXYZ>(cloud, fildColor, "sample");//显示点
while (!viewer.wasStopped())
{
viewer.spinOnce();
}
system("pause");
return 0;
}
运行结果如下: