体素下采样
点云体素采样,通过指定大小的网格,每个网格保留一个点云数据
void gridSimplifyPointsByCgal(Point_set &points, double threshold, int size)
{
double space = CGAL::compute_average_spacing<CGAL::Sequential_tag> (points, size);
// Simplify using a grid of size 2 * average spacing
Point_set::iterator gsim_it = CGAL::grid_simplify_point_set (points, threshold * space);
points.remove(gsim_it, points.end());
std::cout << points.number_of_removed_points()
<< " point(s) removed after simplification." << std::endl;
points.collect_garbage();
}