基于pcl库计算点云ply文件内的所有点的索引并存入stdvectorintall的c++代码
以下是基于pcl库计算点云ply文件内的所有点的索引并存入std::vector
#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::io::loadPLYFile<pcl::PointXYZ>("input.ply", *cloud);
// 存储点索引的向量
std::vector<int> all;
// 遍历点云并存储索引
for (int i = 0; i < cloud->size(); ++i) {
all.push_back(i);
}
// 打印所有点的索引
for (int i = 0; i < all.size(); ++i) {
std::cout << "Point index: " << all[i] << std::endl;
}
return 0;
}
请替换input.ply为你实际的点云文件路径。代码中使用了pcl::PointCloud<pcl::PointXYZ>作为点云的数据类型,你可以根据实际情况修改为其他点云类型,比如pcl::PointXYZRGB。运行代码后,所有点的索引将会被存储在std::vector<int> all中,并打印出来
原文地址: https://www.cveoy.top/t/topic/h4kS 著作权归作者所有。请勿转载和采集!