#include "iostream" #include "pcl/point_types.h" #include "pcl/io/ply_io.h" #include "pcl/visualization/pcl_visualizer.h" typedef pcl::PointXYZ PointT; struct PointXYZLabeled : public pcl::PointXYZ { char label; }; int main() { // 读取PLY文件 pcl::PointCloud::Ptr cloud(new pcl::PointCloud); pcl::io::loadPLYFile("D:\DIANYUNWENJIANJIA\kruskal_ply.ply", *cloud); // 寻找骨架中y值最大的连接节点 PointXYZLabeled maxPoint; float maxY = -std::numeric_limits::infinity(); for (const auto& point : cloud->points) { if (point.y > maxY) { maxY = point.y; maxPoint = point; } } // 标记最大节点为W maxPoint.label = 'W'; // 可视化 pcl::visualization::PCLVisualizer viewer("PCL Viewer"); viewer.setBackgroundColor(0, 0, 0); viewer.addPointCloud(cloud, "cloud"); viewer.setPointCloudRenderingProperties(pcl::visualization::PCL_VISUALIZER_COLOR, 1, 1, 1, "cloud"); viewer.addText3D("W", maxPoint, 0.1, 1, 1, 1, "label"); viewer.spin(); // 输出PLY文件 pcl::io::savePLYFile("D:\DIANYUNWENJIANJIA\Wdianbiaoji_ply.ply", *cloud); return 0; }

PCL 1.8.1 错误:'pcl::PointXYZ' 类没有成员 'label' 的解决方法

原文地址: https://www.cveoy.top/t/topic/pBFa 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录