- 可视化通用代码
//可视化设置
boost::shared_ptr< pcl::visualization::PCLVisualizer > viewer(new pcl::visualization::PCLVisualizer("project points using aparameyric model"));
int v1;
viewer->setBackgroundColor(0, 0, 0); //背景
viewer->addText(" clouds", 10, 10, "v1_text", v1); //窗口坐下角文字设置,只能英文
viewer->createViewPort(0.0, 0.0, 1.0, 1.0, v1); //创建视窗大小,,所需的4个参数分别是视口在Xy轴的最小值、最大值,Y轴的最小值、最大值,取值在0-1之间
添加要显示的点云
viewer->addPointCloud<pcl::PointXYZ>(cloud, "source", v1);
viewer->addPointCloud<pcl::PointXYZ>(cloud_boundary, "cloud_boundary", v1);
将点云变色
viewer->setPointCloudRenderingProperties(pcl::visualization::PCL_VISUALIZER_COLOR, 1, 1, 1, "source", v1);
viewer->setPointCloudRenderingProperties(pcl::visualization::PCL_VISUALIZER_COLOR, 1, 0, 0, "cloud_boundary", v1);
//设置点云单个大小
viewer->setPointCloudRenderingProperties(pcl::visualization::PCL_VISUALIZER_POINT_SIZE, 2, "source");
viewer->setPointCloudRenderingProperties(pcl::visualization::PCL_VISUALIZER_POINT_SIZE, 2, "cloud_boundary");
//添加坐标系与选转
viewer->addCoordinateSystem(1.0);
viewer->spin();
2… 1个窗口展示2个点云(前后对比)
可视化设置
boost::shared_ptr<pcl::visualization::PCLVisualizer> MView (new pcl::visualization::PCLVisualizer("点云展示部分"));
//窗口1
int v1(0);
MView->createViewPort(0.0, 0.0, 0.5, 1.0, v1); 创建视窗大小,,所需的4个参数分别是视口在Xy轴的最小值、最大值,Y轴的最小值、最大值,取值在0-1之间
MView->setBackgroundColor(0.0, 0.0, 0.0, v1); //背景颜色
MView->addText("input clouds", 10, 10, "v1_text", v1); //窗口坐下角文字设置,只能英文
//窗口2
int v2(0);
MView->createViewPort(0.5, 0.0, 1.0, 1.0, v2);
MView->setBackgroundColor(0.0, 0.0, 0.0, v2);
MView->addText("Boudary point clouds", 10, 10, "v2_text", v2);
MView->addPointCloud<pcl::PointXYZ>(cloud, "sample cloud", v1); //将点云处理结果cloud添加到视图中,其中双引号中表示该点云的“标签,
MView->addPointCloud<pcl::PointXYZ>(cloud_boundary, "cloud_boundary", v2); //将边界点放在窗口1
//设置点云渲染属性
MView->addPointCloud<pcl::PointXYZ>(cloud, "sample cloud", v1);
MView->addPointCloud<pcl::PointXYZ>(cloud_boundary, "cloud_boundary", v2);
MView->addCoordinateSystem(1.0); //添加坐标系
MView->initCameraParameters(); //初始化摄像机参数
MView->spin();