C++嵌套循环:遍历点云聚类索引
for (const auto& indices : all_cluster_indices)
{
std::cout << 'Cluster with ' << indices.indices.size() << ' points:' << std::endl;
for (const auto& index : indices.indices)
{
std::cout << ' 开始输出所有索引点应该有6430个 (' <<k<<';'<< cloud8->points[index].x << ', '
<< cloud8->points[index].y << ', '
<< cloud8->points[index].z << ')' << std::endl;
k++;
}
std::cout << std::endl;
}
这段代码展示了如何使用C++中的嵌套循环来遍历存储点云聚类索引的数据结构。
外层循环:
- 迭代
all_cluster_indices容器,该容器存储了多个聚类索引。 const auto& indices表示使用常量引用来遍历每个聚类索引,避免数据拷贝,提高效率。- 输出每个聚类的点数,方便查看聚类规模。
内层循环:
- 迭代当前聚类索引
indices.indices中的每个点索引。 - 同样使用
const auto& index来避免数据拷贝。 - 访问点云数据
cloud8->points[index],获取该索引对应的点的三维坐标 (x, y, z)。 - 输出每个点的坐标信息,方便观察点在空间中的分布。
代码解释:
all_cluster_indices存储了多个聚类索引,每个聚类索引包含一组点索引。indices.indices.size()获取当前聚类索引包含的点数。cloud8应该是一个点云数据结构,points成员存储了所有点的坐标信息。k应该是一个计数器,用于记录已输出的点的数量。
这段代码可以帮助你理解如何使用C++嵌套循环遍历点云聚类索引,并输出每个聚类的点数和每个点的坐标信息。
原文地址: https://www.cveoy.top/t/topic/fMSg 著作权归作者所有。请勿转载和采集!