PCL学习五-点云滤波
一滤波的作用点云原始数据激光雷达、深度相机扫描出来通常带有噪声点、离群孤点、多余高密度点、背景杂点。滤波就是对点云进行降噪、精简、预处理去掉无用数据保留有效点。还有一个重要作用是降采样减少点云中点的数量。为后续分割、配准、曲面重建、目标识别做准备。PCL 官方filters模块一共有 30 种滤波器类PCL1.15 版本.二、常用滤波器PassThrough 直通滤波按 X/Y/Z 坐标范围裁剪点云速度最快。只保留指定区间的点。VoxelGrid 体素栅格降采样3D 立方体网格降采样减少点数量保留外形加速后续算法。ApproximateVoxelGrid 近似体素降采样VoxelGrid 的简化版本速度更快精度略低适合海量点云。StatisticalOutlierRemoval 统计离群滤波基于邻域统计剔除孤立飞点噪声。RadiusOutlierRemoval 半径离群滤波给定半径半径内邻居数量不够就删掉该噪点。三、条件 / 索引类滤波器ConditionalRemoval 条件滤波自定义多条件表达式筛选点比如同时限制 XYZ、RGB。ExtractIndices 索引提取滤波根据点索引提取一部分点云非常常用分割后提取目标物体。CropBox 包围盒裁剪滤波3D 长方体框裁剪可以旋转框比 PassThrough 更灵活斜着框选区域。CropHull 凸包裁剪按多边形凸包轮廓裁剪点云。三、平滑、卷积、采样类BilateralFilter 双边滤波平滑表面噪声保留物体边缘高精度扫描点云。FastBilateralFilter / FastBilateralFilterOMP 快速双边滤波多线程加速版本适合有序深度点云。MedianFilter 中值滤波适合有序深度图点云去除椒盐噪声。RandomSample 随机采样随机抽取一部分点简单降采样。FarthestPointSampling 最远点采样均匀采样保留物体特征机器学习点云常用。SamplingSurfaceNormal 基于法向采样根据表面法向进行采样。四、投影、几何、特殊滤波ProjectInliers 模型投影滤波把点投影到拟合平面 / 圆柱等模型上。ShadowPoints 阴影点去除深度相机产生的边缘 “鬼影点” 去除。LocalMaximum 局部最大值滤波保留局部峰值点用于关键点提取。Convolution 卷积滤波高斯卷积对点云做平滑。ProgressiveMorphologicalFilter 渐进形态学滤波专门用于地面点分离激光雷达地形点云分离地面 /五、简单区分记忆裁剪PassThrough、CropBox降采样VoxelGrid、ApproximateVoxelGrid、RandomSample去噪离群StatisticalOutlierRemoval、RadiusOutlierRemoval平滑Bilateral、Median提取子集ExtractIndices、ConditionalRemoval六、开始程序学习1StatisticalOutlierRemoval 统计滤波作用去除掉孤立的离群噪点参数说明setMeanK(50)MeanK 50每个点在点云中搜索最近邻的 50 个点。原理对每个点查找它周围最近的 K 个邻居计算该点到这 50 个邻居的平均距 离。这个平均距离用来判断这个点是不是孤立的离群噪点。参数含义K 近邻数量。取值经验太小比如 5、10容易误把正常边缘点当成噪点删掉太大100计算变慢局部特征被平均抹平小物体容易被误删一般场景推荐20~50你这里 50 是比较稳妥的值。2.setStddevMulThresh(1.0)标准差倍数阈值stddevMulThresh 1.0先计算全部点的「点到邻居平均距离」的全局均值 μ和全局标准差 σ阈值公式\(\text{threshold} \mu 1.0 \times \sigma\)如果某个点它到邻居的平均距离 threshold→ 判定为离群点直接剔除如果小于阈值 → 保留输出到cloud_filtered简单人话理解 1.0 代表凡是距离超出全局平均距离 1 倍标准差的点都当成噪声删掉。参数调参规律数值越小 → 滤波越激进删掉更多点0.5很多稍微远一点的点都会被删掉点云损失大数值越大 → 滤波越保守保留更多点去噪能力变弱2.0只有非常孤立的点才会被移除适合噪声少的高质量点云。工程常用范围0.8 ~ 2.0你用的 1.0 是经典示例参数。完整工作流程输入原始点云cloud对每一个点找最近 50 个邻居计算当前点到 50 邻居的平均距离统计所有点的平均距离算出全局均值 μ、标准差 σ阈值 μ 1.0 × σ所有点中平均距离大于阈值的点判定为离群噪点filter(*cloud_filtered)把保留的点输出到cloud_filtered程序#include iostream #include pcl/io/pcd_io.h #include pcl/point_types.h #include pcl/filters/statistical_outlier_removal.h //创建点云文件放原始点云和滤波后点云 pcl::PointCloudpcl::PointXYZ::Ptr cloud(new pcl::PointCloudpcl::PointXYZ); pcl::PointCloudpcl::PointXYZ::Ptr cloud_filtered(new pcl::PointCloudpcl::PointXYZ); // 定义点云读取类 pcl::PCDReader reader; // 读取点云 reader.readpcl::PointXYZ(table_scene_lms400.pcd, *cloud); //创建统计滤波点云对象 pcl::StatisticalOutlierRemovalpcl::PointXYZ sor; sor.setInputCloud(cloud); sor.setMeanK(50); sor.setStddevMulThresh(1.0); sor.filter(*cloud_filtered); pcl::PCDWriter writer; //存放需要的点云 writer.writepcl::PointXYZ(table_scene_lms400_inliers.pcd, *cloud_filtered, false); sor.setNegative(true); sor.filter(*cloud_filtered); //存放滤除的点云 writer.writepcl::PointXYZ(table_scene_lms400_outliers.pcd, *cloud_filtered, false);原始点云滤波后点云滤波去除的点云部分

相关新闻

企业全景信息查询 API:工商照面 33 项、股东出资、变更与社保一次查全

企业全景信息查询 API:工商照面 33 项、股东出资、变更与社保一次查全

企业全景信息查询 API:工商照面 33 项、股东出资、变更与社保一次查全 做供应商准入、客户尽职调查、授信风控时,需要的信息往往不止「这家公司存不存在」:经营状态是否正常、注册资本与实缴、股东结构与出资明细、历史上改过什么、参保人数有…

2026/10/7 15:14:16 阅读更多 →
U-Boot移植实战指南:从启动链解剖到DDR初始化与BSP适配

U-Boot移植实战指南:从启动链解剖到DDR初始化与BSP适配

拿到一块新板子,系统起不来,第一个要解决的不是内核,而是U-Boot。U-Boot移植本质上是把处理器上电之后的前几百毫秒从头到尾搞清楚:ROM里跑完是谁接管、DDR什么时候初始化、存储介质能不能读写、环境变量放哪、最后怎么把控制权交…

2026/10/7 15:13:16 阅读更多 →
驾校学员管理系统源码 Java+SpringBoot+Vue3 前后分离

驾校学员管理系统源码 Java+SpringBoot+Vue3 前后分离

一、关键词驾校学员管理系统,驾校学员信息管理系统,驾校学员培训管理系统二、作品包含源码数据库全套环境和工具资源本地部署教程三、项目技术前端技术:Html、Css、Js、Vue3、Element-plus后端技术:Java、SpringBoot2、MyBatis四、…

2026/10/7 15:13:16 阅读更多 →

最新新闻

阿里Semantic Human Matting:两阶段人像抠图算法解析与实战

阿里Semantic Human Matting:两阶段人像抠图算法解析与实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/7 15:42:01 阅读更多 →
免费STL模型下载网站推荐:十大站点与修复切片转STP实战

免费STL模型下载网站推荐:十大站点与修复切片转STP实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/7 15:42:01 阅读更多 →
学生选课成绩管理系统:Java Swing + MySQL 课程设计完整实现与避坑指南

学生选课成绩管理系统:Java Swing + MySQL 课程设计完整实现与避坑指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/7 15:42:01 阅读更多 →
紫光同创FPGA adf网表与黑匣子:IP保护与集成实战指南

紫光同创FPGA adf网表与黑匣子:IP保护与集成实战指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/7 15:42:01 阅读更多 →
Arduino环境感知入门:MQ-135气体传感器原理、接线与空气质量监测实战

Arduino环境感知入门:MQ-135气体传感器原理、接线与空气质量监测实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/7 15:42:01 阅读更多 →
FPGA时序收敛必会:report_timing参数详解与实战路径定位

FPGA时序收敛必会:report_timing参数详解与实战路径定位

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/7 15:41:00 阅读更多 →

日新闻

ROS2机械臂仿真与运动控制:从URDF建模到Gazebo实战全解析

ROS2机械臂仿真与运动控制:从URDF建模到Gazebo实战全解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/7 1:01:58 阅读更多 →
用浏览器直接改ESP32的WiFi密码:NVS键值配置工具设计与实现

用浏览器直接改ESP32的WiFi密码:NVS键值配置工具设计与实现

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/7 1:02:00 阅读更多 →
芯片封装缺陷检测:扫描声学显微镜(SAT)原理与实操指南

芯片封装缺陷检测:扫描声学显微镜(SAT)原理与实操指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/7 1:02:00 阅读更多 →

周新闻

KT148A语音芯片外挂8002D功放的工程实践指南

KT148A语音芯片外挂8002D功放的工程实践指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/7 14:34:12 阅读更多 →
LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/7 14:34:13 阅读更多 →
ARM架构深度解析:从RISC设计理念到交叉编译实战

ARM架构深度解析:从RISC设计理念到交叉编译实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/7 9:29:10 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/7 14:34:12 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/7 11:43:46 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/7 13:34:55 阅读更多 →