pcl库中,对点云进行模型拟合的接口是 SACSegmentation。
对其进行可视化显示效果如下:
设置最多分割3次拟合平面,得到分割的点云列表、拟合参数、剩余点云
提取地面点云、模型参数、剩余的点云
扩展klib的插件代码如下:
struct SegSACSegmentation
{
bool random = false;
int model = pcl::SACMODEL_PLANE;
int method = pcl::SAC_RANSAC;
double distanceThreshold = 0.01;
int max_iterations = 50;
double probability = 0.99;
bool optimizeCoefficients = true;
double min_radius = -(std::numeric_limits<double>::max)();
double max_radius = (std::numeric_limits<double>::max)();
double radius = 0.0;
double samplesMaxDist = 0.0