以下是使用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是生成的可执行文件名。编译成功后,运行可执行文件即可实现功能

输入DDIANYUNWENJIANJIAkruskal_plyply搜索骨架中y值最大的连接节点标记为W进行可视化然后输出DDIANYUNWENJIANJIAWdianbiaoji_plyply根据这一步骤用c++写出pcl181可以运行的代码

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

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