我试图对来自Kinect One的pcl::PCLPointCloud2 points
进行缩减采样(这是一个有组织的点云:points.width = 512
和points.height = 424
)。通过使用pcl::VoxelGrid
生成的下采样点云不再有条理(output_points.height = 1
),但我需要将其组织为正常估计。
是否有任何方法可以对保留有组织的结构进行下采样,或者至少是否可以重新组织VoxelGrid的无组织输出?
提前谢谢。
答案 0 :(得分:1)
如果您只想对有组织的云进行下采样迭代,并选择行和列中的每个第n个点。如
int scale = 2;
pcl::PointCloud<pcl::your_point_type> down_sampled_cloud;
down_sampled_cloud.width = original_cloud.width / scale;
down_sampled_cloud.height = original_cloud.height / scale;
for( int ii = 0; ii < original_cloud.height; ii+=scale){
for( int jj = 0; jj < original_cloud.width; jj+=scale ){
down_sampled_cloud.push_back(original_cloud.at(ii,jj));
}
}
无法保证体素网格下采样将保留结构。