PCL 1.8.1: 搜索PLY文件骨架中Y值最大节点并标记为W
以下是一种使用PCL 1.8.1运行的步骤,实现了搜索PLY文件中骨架中y值最大的连接节点,将其标记为W,并进行可视化,最后输出为新的PLY文件。\n\ncpp\n#include <pcl\point_types.h>\n#include <pcl\io\ply_io.h>\n#include <pcl\visualization\pcl_visualizer.h>\n\ntypedef pcl::PointXYZ PointT;\n\nint main()\n{\n // 读取PLY文件\n pcl::PointCloud<PointT>::Ptr cloud(new pcl::PointCloud<PointT>);\n pcl::io::loadPLYFile("D:\\DIANYUNWENJIANJIA\\kruskal_ply.ply", *cloud);\n\n // 寻找骨架中y值最大的连接节点\n PointT maxPoint;\n float maxY = -std::numeric_limits<float>::infinity();\n for (const auto& point : cloud->points) {\n if (point.y > maxY) {\n maxY = point.y;\n maxPoint = point;\n }\n }\n\n // 标记最大节点为W\n maxPoint.label = 'W';\n\n // 可视化\n pcl::visualization::PCLVisualizer viewer("PCL Viewer");\n viewer.setBackgroundColor(0, 0, 0);\n viewer.addPointCloud(cloud, "cloud");\n viewer.setPointCloudRenderingProperties(pcl::visualization::PCL_VISUALIZER_COLOR, 1, 1, 1, "cloud");\n viewer.addText3D("W", maxPoint, 0.1, 1, 1, 1, "label");\n viewer.spin();\n\n // 输出PLY文件\n pcl::io::savePLYFile("D:\\DIANYUNWENJIANJIA\\Wdianbiaoji_ply.ply", *cloud);\n\n return 0;\n}\n\n\n请将上述代码保存为.cpp文件,并使用CMake进行编译链接。确保在编译时已正确配置PCL 1.8.1,并将相关头文件和库文件路径设置正确。
原文地址: https://www.cveoy.top/t/topic/pBEM 著作权归作者所有。请勿转载和采集!