问题描述:
随便跑了一段程序
PointCloud<PointNormal>::Ptr subsampleAndCalculateNormals(const PointCloud<PointXYZ>::Ptr& cloud)
{
PointCloud<PointXYZ>::Ptr cloud_subsampled(new PointCloud<PointXYZ>());
VoxelGrid<PointXYZ> subsampling_filter;
subsampling_filter.setInputCloud(cloud);
subsampling_filter.setLeafSize(subsampling_leaf_size);
subsampling_filter.filter(*cloud_subsampled);
PointCloud<Normal>::Ptr cloud_subsampled_normals(new PointCloud<Normal>());
NormalEstimation<PointXYZ, Normal> normal_estimation_filter;
normal_estimation_filter.setInputCloud(cloud_subsampled);
search::KdTree<PointXYZ>::Ptr search_tree(new search::KdTree<PointXYZ>);
normal_estimation_filter.setSearchMethod(search_tree);
normal_estimation_filter.setRadiusSearch(normal_estimation_search_radius);
normal_estimation_filter.compute(*cloud_subsampled_normals);