基于181pcl库将点云ply文件内的点添加到点云ply1文件内的c++代码
以下是基于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;
}
注意事项:
- 将上述代码保存为.cpp文件,并确保已正确安装了pcl库。
- 将待合并的点云文件分别命名为
cloud.ply和cloud1.ply,并与.cpp文件放置在同一目录下。 - 运行代码后,合并后的点云将保存为
merged_cloud.ply文件。
原文地址: http://www.cveoy.top/t/topic/hXDG 著作权归作者所有。请勿转载和采集!