基于pcl库输出点云文件中每个点的三维信息的c++代码
下面是一个基于pcl库输出点云文件中每个点的三维信息的C++代码示例:
#include <iostream>
#include <pcl/io/pcd_io.h>
#include <pcl/point_types.h>
int main()
{
// 读取点云文件
pcl::PointCloud<pcl::PointXYZ>::Ptr cloud(new pcl::PointCloud<pcl::PointXYZ>);
if (pcl::io::loadPCDFile<pcl::PointXYZ>("input_cloud.pcd", *cloud) == -1)
{
PCL_ERROR("Couldn't read file input_cloud.pcd\n");
return -1;
}
// 输出每个点的三维信息
for (int i = 0; i < cloud->size(); ++i)
{
pcl::PointXYZ point = cloud->at(i);
std::cout << "Point " << i << ": x = " << point.x
<< ", y = " << point.y << ", z = " << point.z << std::endl;
}
return 0;
}
在这个示例中,我们首先使用pcl::io::loadPCDFile函数从点云文件中读取点云数据,并将其存储在一个pcl::PointCloud<pcl::PointXYZ>::Ptr指针中。然后,我们使用cloud->size()获取点云中点的数量,使用cloud->at(i)访问每个点,并输出它们的三维坐标信息。
请确保已经正确安装了pcl库,并将点云文件名替换为你自己的点云文件
原文地址: https://www.cveoy.top/t/topic/hE9t 著作权归作者所有。请勿转载和采集!