Pcl滤波算法总结
- pcl::ApproximateVoxedGrid<PointT>
这个类的作用是进行下采样滤波,可以进行数据压缩,并且这个算法是面向所有的点云。
- pcl::Bilaterafilter<PointT>
这个类可以进行双边滤波,但是该算法只能应用于XYZI类型的数据,对不包含强度的类型不支持。
- pcl::BoxClipper3D<PointT>
这个类的作用是箱型裁剪器,可以根据给定的放射矩阵裁定一个大小在XYZ方向上为2的立方体。
- pcl::ConditionalRemoval<PointT>
条件滤波器,这个类的滤波条件由用户自己确定非常灵活。
- pcl::filters::Convolution<PointIn,PointOut>
卷积滤波,根据输入的卷积核和点云进行卷积达到滤波的目的。
- Pcl::CropBox<PointT>
过滤掉在用户给定立方体内的点云数据
- pcl::CropHull(PointT)
过滤掉在给定三维封闭曲面或二维封闭多边形内的点云数据,封闭曲面或多边形由类ConvexHull或ConcaveHull产生。
- pcl::ExtractIndices<PointT>
剔除符合一定限定的点集。
9. pcl::NormalSpaceSampling<PointT,NormalT>
计算输入点云的每个点的法线,通过对法线的采样来对点云继续宁重采样。
- pcl::PassThrough<PointT>
对用户给定点云在某个字段的限定下,对点云进行简单的过滤,例如限制过滤掉点云中所有X字段不在某个范围内的点,该类的使用比较灵活但完全取决与用户的限定字符和对应条件。例如在X轴上限制点云的X值。
- pcl::PlaneClipper3D<PointT>
在三维空间中实现平面裁剪。
- pcl::ProjectInliers<PointT>
使用一个模型和一组内点的索引,将内点投影到模型形成新的一个独立点云。
- pcl::RadiusOutlierRemoval<PointT>
实现删除离群点的简单的滤波功能,如果一个点在给定半径内临近点数量小于给定阈值K,则判定为离群点并删除。
- pcl::RandomSample<PointT>
实现对点云的均匀概率随机抽样。
- pcl::StatisticalOutlierRemoval<PointT>
通过对查询点与邻域点集之间的距离统计来判断过滤离群点。
- pcl::VoxelGrid<PointT>
根据给定的点云构造一个三维体素栅格并进行下采样达到滤波的效果。具体来说通过输入点云数据创建一个三维体素栅格,然后将每个体素内所有的点都用给体素内的点集的重心来近似,这样就大大减少了数据量,所以该类常用于对大数据量的下采样处理,特别是在配准、曲面重建等工作之前作为预处理,可以很好的提高程序的速度。该方法比体素逼近法速度慢,但是它对于采样点对应去买呢的表示更为准确。
- pcl::removeNanFromPointCloud(&cloud_in,&cloud_out,&index)
移除输入点云的X、Y、Z中值为NaN的点。