我正在使用 PCL 来检测我的激光雷达点云中的表面,我的配置如下:
pcl::RegionGrowing<pcl::PointXYZ, pcl::Normal> reg;
reg.setMinClusterSize(static_cast<int>(100));
reg.setMaxClusterSize(static_cast<int>(1000));
reg.setSearchMethod(new pcl::search::KdTree<pcl::PointXYZ>);
reg.setNumberOfNeighbours(30);
reg.setInputCloud(point_cloud);
reg.setInputNormals(normals);
reg.setSmoothnessThreshold(6_deg);
reg.setCurvatureThreshold(1.0);
它工作正常,除了我发现它会拾取一些异常点,如下图所示。
我试图检测带有腿的飞机,并且该方法似乎在腿上拾取了某个点。是否可以使用例如 PCL 中区域生长方法中的密度阈值来避免这种情况?在花了一些时间在文档上并调整了区域增长设置的值之后,我仍然无法弄清楚如何去做。