尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
【SLAM】PCL:通过条件设置或者半径设置去除指定点云
#include iostream #include pcl/point_types.h #include pcl/filters/radius_outlier_removal.h #include pcl/filters/conditional_removal.h #include pcl/io/pcd_io.h int main(int argc, char **argv) { //初始化点云 pcl::PointCloudpcl::PointXYZ::Ptr cloud (new pcl::PointCloudpcl::PointXYZ); pcl::PointCloudpcl::PointXYZ::Ptr cloud_filtered (new pcl::PointCloudpcl::PointXYZ); pcl::PCDWriter writer; //设置点云为500个也可以自行修改或者直接读取PCD文件 cloud-width 500; cloud-height 1; cloud-points.resize(cloud-width * cloud-height); for (size_t i 0; i cloud-points.size(); i) { cloud-points[i].x 1024 * rand() / (RAND_MAX 1.0f); cloud-points[i].y 1024 * rand() / (RAND_MAX 1.0f); cloud-points[i].z 1024 * rand() / (RAND_MAX 1.0f); } writer.writepcl::PointXYZ(./original.pcd, *cloud, false); if (strcmp(argv[1], -r) 0){ pcl::RadiusOutlierRemovalpcl::PointXYZ outrem; // build the filter outrem.setInputCloud(cloud); //设置搜索半径为0.3 outrem.setRadiusSearch(0.3); //在该半径中必须最少有5个邻点则保持在点云中 outrem.setMinNeighborsInRadius (5); // apply filter outrem.filter (*cloud_filtered); writer.writepcl::PointXYZ(./points_outrem.pcd, *cloud_filtered, false); } else if (strcmp(argv[1], -c) 0) { pcl::ConditionAndpcl::PointXYZ::Ptr range_cloud(new pcl::ConditionAndpcl::PointXYZ ()); //设置作用域为z取大于0且小于0.8的位置保留在点云中其余进行移除 range_cloud-addComparison(pcl::FieldComparisonpcl::PointXYZ::ConstPtr (new pcl::FieldComparisonpcl::PointXYZ(z, pcl::ComparisonOps::GT, 0.0))); range_cloud-addComparison(pcl::FieldComparisonpcl::PointXYZ::ConstPtr (new pcl::FieldComparisonpcl::PointXYZ(z, pcl::ComparisonOps::LT, 0.8))); pcl::ConditionalRemovalpcl::PointXYZ condream; condream.setCondition(range_cloud); condream.setInputCloud(cloud); condream.setKeepOrganized(true); condream.filter(*cloud_filtered); writer.writepcl::PointXYZ(./points_condream.pcd, *cloud_filtered, false); } else{ std::cerr please specify command line arg -r or -c std::endl; exit(0); } return 0; }通过设置半径蓝色点为去除的点因为只能放平面图立体图可以看出删除的点主要都在表面通过设置z的范围绿色是保留的点云 橙色的点云是删除的点云
RELATED

相关推荐

【SLAM】PCL:使用VoxelGrid filter对点云进行下采样

【SLAM】PCL:使用VoxelGrid filter对点云进行下采样

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

📅 2026/10/22 12:11:00
【Tensorflow实战系列】tensorflow版本和地址查询

【Tensorflow实战系列】tensorflow版本和地址查询

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

📅 2026/10/22 12:11:00
【深度学习】PointSIFT尝鲜

【深度学习】PointSIFT尝鲜

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

📅 2026/10/22 12:11:00
MORE NEWS

更多资讯

📰

AI时代高薪岗位解析:小白程序员如何抓住机遇,实现职场逆袭?

本文深入分析了AI时代下软件行业的变革,揭示了岗位数量暴涨但薪资增长缓慢的现象,指出大量普通岗位被冠以“AI岗位”之名。文章探讨了初级岗位为何消失,以及AI如何“消化”这些岗位,形成了金字塔向菱形转变的人才结构。此外&#…

📰

冯诺伊曼体系结构和操作系统进程的概念

冯诺-依曼体系结构 冯诺伊曼体系结构(von Neumann architecture)是 1945 年冯诺伊曼在《EDVAC 报告草案》中提出、奠定了现代通用计算机基础的体系结构,核心思想是存储程序(stored-program)。 我们常见的计算机&#x…

📰

Node 和 Cluster部署

Node and Cluster 学习参考:Node 查看节点 # 查看集群所有节点清单;输出列:NAME 节点名、STATUS 状态、ROLES 角色(control-plane 为控制面)、AGE 运行时长、VERSION 版本 rootmaster30:~# kubectl get nodes NAME …

📰

2026年上海建筑安全员B证考试题库+答案+解析

以下20道题只是考试题库中的一部分。想系统刷完整个科目的,点击上方卡片↑,有分章节的完整版题库。2026年上海建筑安全员B本考试题库 (建议先做完,再看下面的答案)单选1. 对于超过一定规模的危险性较大的分部分项工程&…

📰

QML GridView 布局:网格排布与排列方向

目录基础网格演示代码排列方向演示代码三个方向属性工程下载GridView 和 ListView 的使用方式有点像,通过 model 提供数据、delegate 定义每一项的外观。区别在于 GridView 把所有项构建成二维网格,横向、竖向两个方向都随意排列,做应用宫格、…

📰

数字转换罗马数字

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

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬