链接: https://robot.czxy.com/docs/pcl/chapter01/intro/.
基本操作函数
创建PointCloud的智能指针
pcl::PointCloud<pcl::PointXYZRGBA>::Ptr cloud(new pcl::PointCloud<pcl::PointXYZRGBA>);
加载pcd文件
pcl::io::loadPCDFile("./data/pcl_logo.pcd", *cloud);
CloudViewer
创建点云视窗
pcl::visualization::CloudViewer viewer("Cloud Viewer");
渲染点云
viewer.showCloud(cloud);
只会调用一次
viewer.runOnVisualizationThreadOnce (viewerOneOff);
每次可视化迭代都会调用一次(频繁调用) (非必须)
viewer.runOnVisualizationThread (viewerPsycho);
PCLVisualizer
创建PCLVisualizer
boost::shared_ptr<pcl::visualization::PCLVisualizer> viewer (new pcl::visualization::PCLVisualizer ("3D Viewer"));
设置背景色
viewer->setBackgroundColor (0.05, 0.05, 0.05, 0);
设置点云颜色
//自定义单一颜色
pcl::visualization::PointCloudColorHandlerCustom<pcl::PointXYZ> single_color(cloud, 0, 0, 255);
//显示点云自带的颜色信息
pcl::visualization::PointCloudColorHandlerRGBField<pcl::PointXYZRGB> rgb(cloud_milk);
//根据点云的某个属性进行上色(如下,沿着y方向渐变上色)
pcl::visualization::PointCloudColorHandlerGenericField<pcl::PointXYZ> rgb(cloud, "y");
在PCLVisualizer中加入点云并设置相应的颜色和id
viewer->addPointCloud<pcl::PointXYZ> (cloud, rgb, "cloud");
设置点显示的大小,注意后面的id
viewer->setPointCloudRenderingProperties (pcl::visualization::PCL_VISUALIZER_POINT_SIZE, 10,"sample cloud");
添加一个0.5倍缩放的坐标系
viewer->addCoordinateSystem (0.5);
未完待续
注:同时调用PCL库和OpenCV库发生冲突时,尝试先引用pcl头文件,再引用opencv头文件。