如何在 pcl 查看器中的点之间绘制样条或曲线?

问题描述

一个浊点向量,

std::vector<pcl::PointCloud<pcl::PointXYZI>::Ptr> cloud_points(2);

我设法将它们绘制为点:

pcl::visualization::PointCloudColorHandler<pcl::PointXYZI>::Ptr cloud_points_left(new pcl::visualization::PointCloudColorHandlerCustom<pcl::PointXYZI>(255,0));
        pcl::visualization::PointCloudColorHandler<pcl::PointXYZI>::Ptr cloud_points_right(new pcl::visualization::PointCloudColorHandlerCustom<pcl::PointXYZI>(0,255));

handler_cloud_points->setInputCloud(cloud_points);
viewer->addPointCloud(cloud_points,*handler_cloud_points,"cloud",vector);
viewer->setPointCloudRenderingProperties(pcl::visualization::PCL_VISUALIZER_POINT_SIZE,1,vector);
viewer->setPointCloudRenderingProperties(pcl::visualization::PCL_VISUALIZER_OPACITY,vector);

cloud_points_left->setInputCloud(cluster_cloud_points[0]);
viewer->addPointCloud(cluster_cloud_points[0],*cloud_points_left,"left",5,vector);
     

cloud_points_right->setInputCloud(cluster_cloud_points[1]);
viewer->addPointCloud(cluster_cloud_points[1],*cloud_points_right,"right",vector);

我设法在左点之间画一条线,使用 addLine 函数

viewer->addLine<pcl::PointXYZI>(cluster_cloud_points[0]->points[0],cluster_cloud_points[0]->points[cluster_cloud_points[0]->points.size() - 1],"line");

但我实际上想要在 addLine 函数中作为前 2 个参数给出的这 2 个点之间的曲线。有什么办法可以做到这一点吗?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)