C++ PCL 库:合并点云PLY文件示例

以下是基于 1.8.1 版本的 PCL 库,将点云PLY文件内的点添加到点云PLY1文件内的 C++ 代码示例:

#include <iostream>
#include <pcl/io/ply_io.h>
#include <pcl/point_types.h>

int main()
{
    pcl::PointCloud<pcl::PointXYZ>::Ptr cloud(new pcl::PointCloud<pcl::PointXYZ>);
    pcl::PointCloud<pcl::PointXYZ>::Ptr cloud1(new pcl::PointCloud<pcl::PointXYZ>);

    // 读取点云ply文件
    if (pcl::io::loadPLYFile<pcl::PointXYZ>('cloud.ply', *cloud) == -1)
    {
        PCL_ERROR('Couldn't read file cloud.ply\n');
        return -1;
    }

    // 读取点云ply1文件
    if (pcl::io::loadPLYFile<pcl::PointXYZ>('cloud1.ply', *cloud1) == -1)
    {
        PCL_ERROR('Couldn't read file cloud1.ply\n');
        return -1;
    }

    // 将点云ply文件内的点添加到点云ply1文件内
    for (const auto& point : cloud->points)
    {
        cloud1->push_back(point);
    }

    // 保存合并后的点云ply1文件
    pcl::io::savePLYFileBinary('merged_cloud.ply', *cloud1);

    std::cout << 'Merged point clouds saved to merged_cloud.ply' << std::endl;

    return 0;
}

注意事项:

  1. 将上述代码保存为.cpp文件,并确保已正确安装了pcl库。
  2. 将待合并的点云文件分别命名为cloud.plycloud1.ply,并与.cpp文件放置在同一目录下。
  3. 运行代码后,合并后的点云将保存为merged_cloud.ply文件。
C++ PCL 库:合并点云PLY文件示例

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

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