#include vtkAutoInithVTK_MODULE_INITvtkRenderingOpenGL;VTK_MODULE_INITvtkInteractionStyle;#define BOOST_TYPEOF_EMULATION#include iostream#include pcliopcd_ioh#include pclpoint_typesh#include pclregist
在代码中,源点云没有显示出来是因为使用了pcl::visualization::PointCloudColorHandlerCustom来设置点云的颜色处理程序,但没有设置点云的渲染属性。
要修改代码以显示源点云,可以按照以下步骤进行:
- 在使用
addPointCloud函数添加点云时,为点云添加渲染属性,例如设置点的大小和形状。
viewer.addPointCloud(cloud_in_downsampled, pcl::visualization::PointCloudColorHandlerCustom<pcl::PointXYZ>(cloud_in_downsampled, 255, 0, 0), "cloud_in");
viewer.setPointCloudRenderingProperties(pcl::visualization::PCL_VISUALIZER_POINT_SIZE, 1, "cloud_in");
viewer.setPointCloudRenderingProperties(pcl::visualization::PCL_VISUALIZER_POINT_SHAPE, pcl::visualization::PCL_VISUALIZER_POINT_SPHERE, "cloud_in");
- 同样的方式为目标点云和对齐后的点云设置渲染属性。
viewer.addPointCloud(cloud_out_downsampled, pcl::visualization::PointCloudColorHandlerCustom<pcl::PointXYZ>(cloud_out_downsampled, 0, 255, 0), "cloud_out");
viewer.setPointCloudRenderingProperties(pcl::visualization::PCL_VISUALIZER_POINT_SIZE, 1, "cloud_out");
viewer.setPointCloudRenderingProperties(pcl::visualization::PCL_VISUALIZER_POINT_SHAPE, pcl::visualization::PCL_VISUALIZER_POINT_SPHERE, "cloud_out");
viewer.addPointCloud<pcl::PointXYZ>(cloud_in_downsampled, pcl::visualization::PointCloudColorHandlerCustom<pcl::PointXYZ>(cloud_in_downsampled, 0, 0, 255), "cloud_aligned");
viewer.setPointCloudRenderingProperties(pcl::visualization::PCL_VISUALIZER_POINT_SIZE, 1, "cloud_aligned");
viewer.setPointCloudRenderingProperties(pcl::visualization::PCL_VISUALIZER_POINT_SHAPE, pcl::visualization::PCL_VISUALIZER_POINT_SPHERE, "cloud_aligned");
通过设置点的大小和形状,可以更好地显示点云。您可以根据需要调整点的大小和形状
原文地址: https://www.cveoy.top/t/topic/hKK9 著作权归作者所有。请勿转载和采集!