点云滤波——project_inliners滤波

点投影到一个参数化模型上(平面或者球体等),参数化模型通过一组参数来设定,对于平面来说使用其等式形式。在PCL中有特定存储常见模型系数的数据结构

// 填充ModelCoefficients的值,使用ax+by+cz+d=0平面模型,其中 a=b=d=0,c=1 也就是X——Y平面
pcl::ModelCoefficients::Ptr coefficients(new pcl::ModelCoefficients());
coefficients->values.resize(4);
coefficients->values[0] = 0;
coefficients->values[1] = 0;
coefficients->values[2] = 1;
coefficients->values[3] = 0;
pcl::ProjectInliers<pcl::PointXYZ> proj;//创建滤波对象
proj.setModelType(pcl::SACMODEL_PLANE);//设置模型类型
proj.setInputCloud(pointCloud_raw);
proj.setModelCoefficients(coefficients);//设置模型系数
//proj.setCopyAllData(true);
proj.filter(*pointCloud_filter);

猜你喜欢

转载自blog.csdn.net/qq_37124765/article/details/82262903
今日推荐