从 pcl::PointCloud 中删除点

2023-12-02

我是 PCL 新手。我正在使用 PCL 库,并且正在寻找一种从点云中提取点或将特定点复制到新点的方法。我想验证每个点是否符合条件,并且我想获得仅包含优点的点云。谢谢!


使用 ExtractIndices 类:

  • 将要删除的点添加到 PointIndices 变量中
  • 将这些索引传递给 ExtractIndices
  • “负向”运行 filter() 方法以获得原始云减去您的点

example:

  pcl::PointCloud<pcl::PointXYZ>::Ptr p_obstacles(new pcl::PointCloud<pcl::PointXYZ>);
  pcl::PointIndices::Ptr inliers(new pcl::PointIndices());
  pcl::ExtractIndices<pcl::PointXYZ> extract;
  for (int i = 0; i < (*p_obstacles).size(); i++)
  {
    pcl::PointXYZ pt(p_obstacles->points[i].x, p_obstacles->points[i].y, p_obstacles->points[i].z);
    float zAvg = 0.5f;
    if (abs(pt.z - zAvg) < THRESHOLD) // e.g. remove all pts below zAvg
    {
      inliers->indices.push_back(i);
    }
  }
  extract.setInputCloud(p_obstacles);
  extract.setIndices(inliers);
  extract.setNegative(true);
  extract.filter(*p_obstacles);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从 pcl::PointCloud 中删除点 的相关文章

随机推荐

  • 根据生成构建文件时不可用的源文件在 CMake 中创建库

    我有一个构建两个库的 CMake 配置文件 第三方库 此处称为 ThirdPartyLib 包含来自供应商的实时操作系统 主板支持包 它是使用 autotools 工具链在 CMake 外部构建的 前一个库的扩展版本 此处称为 Extend
  • 为什么 Maven 在安装过程中可能会忽略更新的类?

    在进行 war 安装时 我在 Maven 2 2 1 安装中看到了奇怪的行为 有时 我会更新一个类 但更新的版本没有打包在 mvn install 生成的工件中 到目前为止 我已经确定在目标目录中生成了更新的 class文件 并且生成的 w
  • 在phantomjs中设置一个字符串作为网页的响应

    嗨 我想做的不是将网页获取为 page open url 而是设置一个已经作为页面响应检索到的字符串 可以吗 是的 就像分配给 page content 一样简单 通常还值得设置一个 page url 否则 如果使用 Ajax SSE 等进
  • WSO2 身份服务器电子邮件作为用户名

    我们目前正在评估 WSO2 身份服务器 我们想使用电子邮件地址作为用户名 默认情况下 用户名是 30 个字符 不够长 而且它必须同时支持两者 和用户名中的 有没有办法配置这个 用户存储是一个 JDBC Mysql 存储 Thanks 是的
  • 实时更新网页

    我正在制作一款类似于 Risk 的基于浏览器的多人回合制策略游戏 现在 最简单的方法似乎就是让它像普通网页一样 每次玩家刷新时 网页都会向数据库查询所需的信息 这是可以接受的 但我更愿意实时更新页面 这样玩家就不必不断刷新页面 我可以让网页
  • 导出 ES6 模块中的多个类

    我正在尝试创建一个导出多个 ES6 类的模块 假设我有以下目录结构 my module Foo js Bar js index js Foo js and Bar js每个导出一个默认的 ES6 类 Foo js export defaul
  • 在应用程序工厂之外访问 Flask 配置

    我目前正在使用带有蓝图的 Flask 应用程序工厂模式 我遇到的问题是如何访问应用程序工厂之外的 app config 对象 我不需要 Flask 应用程序中的所有配置选项 我只需要6把钥匙 因此 我当前执行此操作的方法是在调用 creat
  • 使用变量从 SSIS 执行进程任务运行 SQLCMD 脚本

    我有一个 sql 文件 其中包含包含 SQLCMD 元素的脚本 我需要让它从 SSIS 包运行 我无法从 执行SQL Task 根据这个http www sqlservercentral com Forums Topic818940 147
  • Python 神经网络中不需要的 [Nan] 输出

    这里是新手 刚刚从 JS 切换到 Python 来构建神经网络 但从中获得了 Nan 输出 奇怪的是我的 sigmoid 函数 似乎没有遇到任何溢出 但导数会导致混乱 import numpy as np def sigmoid x ret
  • 反向网格排列?

    我的右侧有一个侧边栏 左侧有内容 div class col md 9 p Main At large zoom currently it goes to top I want it to go to the bottom p div di
  • array_merge 和 array + array 有什么区别? [复制]

    这个问题在这里已经有答案了 一个相当简单的问题 有什么区别 merged array merge array1 array2 and merged array1 array2 这是一个简单的说明性测试 ar1 0 gt 1 0 a gt 1
  • Cocos2d 应用中的 NSTimer

    Cocos2d 文档中写道 使用 NSTimer 不是一个好主意 为什么不推荐使用NSTimer 我知道Cocos2d有一个schedule方法 尽量不要使用 Cocoa 的 NSTimer 而是使用 cocos2d 自己的调度程序 如果您
  • 通过 TCP/IP 接收对象

    我将通过 TCP IP 编写一个程序 我应该通过客户端或服务器发送对象 当我想发送或接收字符串但当我尝试读取对象时 它会正常进行 private Socket client public ThreadedClient Socket clie
  • 使用 applicationcontext.getbean 与 @configurable 的优点[关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心以获得指导 使用有什么好处 可配置与上
  • 从原始资源文件夹播放 .MP4 视频

    我见过很多类似的问题 但到目前为止我还没有能够解决任何问题 我正在尝试从 res raw 文件夹播放视频 MP4 但只获得音频 没有视频 视频很短 约3秒 很小 350KB 如果我将视频直接放在设备 Motorola Droid 上 它可以
  • 下载之前如何知道文件的大小?

    我必须下载一个文件并且我正在使用这段代码 这基本上是一个AsyncTask这是为了更新进度条 但是 由于我不知道文件大小是多少 所以我不得不使用旋转进度条 那么 如何在开始下载之前获取文件大小 以便我可以使用正常的进度条 你可以获得一个名为
  • 使用 ARM NEON 汇编对 atan2 进行 SIMD 向量化

    我想使用 neon 指令 SIMD 和臂组件来计算 4 个点的大小和角度 大多数语言都有一个内置库 在我的例子中是 C 它计算角度 atan2 但仅针对一对浮点变量 x 和 y 我想利用处理 q 寄存器的 SIMD 指令来计算 4 个值向量
  • 如何使 sbt 任务在多个范围下运行

    我编写了一个 sbt 插件 可以生成一些源代码和资源 它经过硬编码以在编译范围内工作 如何让它在测试范围内工作 以便我可以在运行测试时使用该插件 并且它将查找并输出到正确的文件夹 例如 在我引用的代码中的各个点resourceManaged
  • 我们如何通过JSP scriptlet获取JavaScript数组

    我需要由 Java 类返回的 JavaScript 数组 多维 Here strComboValue是一个 JavaScript 变量 DBComboOptions getOptions combos 返回 Java 类中的数组 现在我想要
  • 从 pcl::PointCloud 中删除点

    我是 PCL 新手 我正在使用 PCL 库 并且正在寻找一种从点云中提取点或将特定点复制到新点的方法 我想验证每个点是否符合条件 并且我想获得仅包含优点的点云 谢谢 使用 ExtractIndices 类 将要删除的点添加到 PointIn