本文主要是介绍PCL预处理Filtering,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
预处理Filtering
- 常用Filtering
- PassThrough filter
- VoxelGrid filter
- StatisticalOutlierRemoval filter
- Projecting points using a parametric model
- Extracting indices from a PointCloud
- Removing outliers using a Conditional or RadiusOutlier removal
常用Filtering
PassThrough filter
沿着指定的维度执行简单的过滤,即截断给定用户范围内或外部的值(x、y、z)。
pcl::PassThrough<pcl::PointXYZ> pass;pass.setInputCloud (cloud);pass.setFilterFieldName ("z"); //z轴方向的过滤pass.setFilterLimits (0.0, 1.0); //基于点云原点的0-1m//pass.setFilterLimitsNegative (true);pass.filter (*cloud_filtered);
VoxelGrid filter
使用体素化网格方法缩小点云数据集的采样(降采样)
pcl::VoxelGrid<pcl::PCLPointCloud2> sor;sor.setInputCloud (cloud);sor.setLeafSize (0.01f, 0.01f, 0.01f);创建格子大小为1cm的体素网格过滤器sor.filter (*cloud_filtered);
StatisticalOutlierRemoval filter
用于移除异常值
使用统计分析技术从点云数据集中移除噪声测量
//所有与查询点的平均距离的标准差大于1的点都将被标记为异常值并被删除pcl::StatisticalOutlierRemoval<pcl::PointXYZ> sor;sor.setInputCloud (cloud);sor.setMeanK (50);//每个点要分析的邻居数设置为50sor
这篇关于PCL预处理Filtering的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!