输入DDIANYUNWENJIANJIAkruskal_plyply搜索骨架中y值最大的连接节点标记为W进行可视化然后输出DDIANYUNWENJIANJIAWdianbiaoji_plyply根据这一步骤用c++写出pcl181可以运行的代码
以下是使用C++编写的PCL 1.8.1版本可以运行的代码:
#include <iostream>
#include <pcl/io/ply_io.h>
#include <pcl/point_types.h>
#include <pcl/visualization/cloud_viewer.h>
typedef pcl::PointXYZRGB PointT;
int main()
{
// 加载PLY文件
pcl::PointCloud<PointT>::Ptr cloud(new pcl::PointCloud<PointT>);
pcl::io::loadPLYFile("D:\\DIANYUNWENJIANJIA\\kruskal_ply.ply", *cloud);
// 寻找骨架中y值最大的连接节点
PointT maxPoint;
maxPoint.y = cloud->points[0].y;
for (size_t i = 1; i < cloud->size(); ++i)
{
if (cloud->points[i].y > maxPoint.y)
{
maxPoint = cloud->points[i];
}
}
// 标记最大节点为W
maxPoint.r = 255;
maxPoint.g = 255;
maxPoint.b = 255;
cloud->push_back(maxPoint);
// 可视化
pcl::visualization::CloudViewer viewer("Viewer");
viewer.showCloud(cloud);
while (!viewer.wasStopped())
{
// 监听窗口关闭事件,退出循环
}
// 保存PLY文件
pcl::io::savePLYFileASCII("D:\\DIANYUNWENJIANJIA\\Wdianbiaoji_ply.ply", *cloud);
return 0;
}
请将代码保存为.cpp文件,然后使用PCL库进行编译和链接,确保在编译时链接了PCL库,例如使用以下命令进行编译:
g++ -std=c++11 your_code.cpp -o your_code -lpcl_io -lpcl_visualization
其中,your_code.cpp是你保存代码的文件名,your_code是生成的可执行文件名。编译成功后,运行可执行文件即可实现功能
原文地址: http://www.cveoy.top/t/topic/hSCb 著作权归作者所有。请勿转载和采集!