点云 ROI

功能描述

该算子用于根据一个或多个三维感兴趣区域(Region of Interest, ROI)来裁剪、过滤输入的点云,算子会保留落在这些ROI内部的点,移除外部的点。算子还提供了选项来控制输出点云的结构(是否保持原始有序结构)以及如何处理多个ROI与单个点云的交互结果。

使用场景

  • 空间过滤 : 只保留场景中特定区域内的点云,例如工作台面上的点云,过滤掉周围环境。

  • 去除干扰 : 定义ROI框住背景或已知干扰物,然后使用“开启反向”功能将其移除。

  • 局部处理 : 提取物体上某个特定区域的点云进行精细分析或处理。

  • 分区域处理 : 使用多个ROI将点云分割成不同的部分,分别进行后续处理。

输入输出

输入项

点云: 输入的待裁剪点云或点云列表。

3维ROI: 一个或多个ROI的字典列表,通常是旋转向量+平移,定义ROI的姿态。

输出项

裁剪后点云: ROI裁剪后的点云列表。

参数说明

该算子有两个版本:

  • 点云ROI : 处理不带法向信息的点云。

  • 点云ROI(带法向) : 处理带有法向信息的点云。

两者核心功能和参数完全相同,仅处理的点云数据类型不同。

保持有序

参数说明

控制输出点云是否保持输入的原始结构。

调参说明

  • 关闭(默认):不保持有序。输出只包含ROI内部(如果开启反向则是外部)的点,丢弃无效点,点云变成无序的点列表。适用于绝大多数点云处理场景,特别是当后续步骤只处理有效点坐标,不需要原始结构时,输出的数据量通常远小于保持原始结构(包含大量无效点)的情况,后续处理更快。

  • 开启:保持有序。输出的点云形状与输入相同,落在ROI范围外的点会被标记为无效点,但它们仍然占据着原来的位置,保留点与点之间的原始邻接关系,适用于后续需要利用点云空间邻接关系做图像处理操作的场景。

保持原大小

参数说明

仅当“保持有序”为开启,且输入点云是有序结构时生效,控制在保持有序结构的前提下,是否裁剪掉全为无效点的行和列。

调参说明

  • 开启(默认):保持原始尺寸,即使某些区域因为ROI过滤完全变成无效点。

  • 关闭:在保持二维结构的基础上,移除那些因为ROI过滤而完全变成无效点的行和列,得到一个尺寸可能更小的、但仍然有序的点云。

开启反向

参数说明

反转过滤逻辑。

调参说明

  • 关闭(默认):保留ROI内部的点云,移除ROI外部的点云。

  • 开启:保留ROI外部的点云,移除ROI内部的点云。适用于去除特定区域的干扰。

多 ROI 结果切分

参数说明

仅当“开启反向”为关闭状态时生效,控制当有多个ROI输入时,如何处理同一个输入点云被这些ROI过滤的结果。

调参说明

  • 关闭(默认):合并结果。如果一个输入点云与多个ROI相交,所有落在这些ROI内部的点会合并成一个输出点云。

  • 开启:切分结果。如果一个输入点云与多个ROI相交,每个ROI会产生一个单独的输出点云,即一个输入点云可能会根据与其相交的ROI数量,输出多个点云。

使能节点

参数说明

控制该算子是否执行运算。

调参说明

  • 开启(默认):正常运行该算子功能。

  • 关闭:算子不执行任何操作,直接将输入的数据输出。