CloudFilter 点云过滤

CloudFilter 算子用于点云过滤。

类型 功能
CloudSize 通过选择不同模式输入参数值进行点云过滤。
Deduplicate 删除点云类表中重复的数据。

CloudSize

将 CloudFilter 算子的类型选择CloudSize,用于通过选择不同模式输入参数值进行点云过滤。

算子参数

  • 模式/mode:点云过滤的模式。

    • LowerLimit:该模式依据 min_points 进行判断,当输入点云点数 ≤ min_points 时,触发算子 failed 信号。

    • UpperLimit:该模式依据 max_points 进行判断,当输入点云点数 ≥ max_points 时,触发算子 failed 信号。

    • BoundLimit:该模式依据 min_points 与 max_points 区间进行判断,当输入点云点数不在 min_points 与 max_points 区间内,触发算子 failed 信号。

  • 最小点数/min_points:限制点云中最小点数。默认值:0 。

  • 最大点数/max_points:限制点云中最大点数。默认值:10000 。

  • 点云/cloud:设置过滤后点云在 3D 视图中的可视化属性 。

    • icon_visOn 打开过滤后点云可视化。

    • icon_visOff 关闭过滤后点云可视化。

    • icon_color 设置 3D 视图中点云的颜色。取值范围:[-2,360] 。默认值:-1 。

    • icon_size 设置点云中点的尺寸。取值范围:[1,50] 。默认值:1 。

  • 点云列表/cloud_list:设置过滤后点云列表在 3D 视图中的的可视化属性。值描述与 点云 一致。

数据信号输入输出

输入:

说明:根据需求选择其中一种数据信号输入即可。

  • cloud

    • 数据类型:PointCloud

    • 输入内容:点云数据

  • cloud_list

    • 数据类型:PointCloudList

    • 输入内容:点云列表数据

输出:

  • cloud

    • 数据类型:PointCloud

    • 输出内容:点云数据

  • cloud_list

    • 数据类型:PointCloudList

    • 输出内容:点云列表数据

功能演示

使用 CloudFilter 算子类型为 CloudSize UpperLimit 模式过滤点云。当点云中点数为 3600 时,输入不同的参考值,分别查看对应的结果。

步骤1:算子准备

添加 Trigger 、Load 、CloudFilter 算子至算子图。

步骤2:设置算子参数

  1. 设置 Load 算子参数:

    • 类型 → PointCloud

    • 文件 → icon_more → 选择点云文件名( example_data/pointcloud/wolf1.pcd :此点云点数:3400)

  2. 设置 CloudFilter算子参数:

    • 模式 → UpperLimit

    • 最大点数 → 3600

步骤3:连接算子

3D_CloudFilter_nodes

步骤4:运行

点击 RVS 运行按钮,触发 Trigger 算子。

运行结果

如下图所示,根据参考数值不同,运行结果不同。

参考数值

  • 最大点数:3600

3D_CloudFilter_result2

  • 最小点数:3200 ,点云点数 < 3400,触发failed 信号

3D_CloudFilter_resut1

Deduplicate

将 CloudFilter 算子的类型选择 Deduplicate,用于删除点云类表中重复的数据。

算子参数

  • number_percentage:设置center_distance中重复点数百分比。将其作为一个阈值,当重复点的比例达到该阈值时,可以认为点云是重复的。取值范围:[0,1]。默认值:0.9。

  • center_distance:设置其他点与中心点之间的距离。取值范围:[0,+∞]。默认值:0.02。

  • 点云列表/cloud_list:设置过滤后点云列表在 3D 视图中的的可视化属性。

    • icon_visOn 打开过滤后点云列表可视化。

    • icon_visOff 关闭过滤后点云列表可视化。

    • icon_color 设置 3D 视图中点云列表的颜色。取值范围:[-2,360] 。默认值:-1 。

    • icon_size 设置点云中点的尺寸。取值范围:[1,50] 。默认值:1 。

数据信号输入输出

输入:

  • cloud_list

    • 数据类型:PointCloudList

    • 输入内容:点云列表数据

输出:

  • cloud_list

    • 数据类型:PointCloudList

    • 输出内容:去重后点云列表数据

功能演示

使用 CloudFilter 中类型为 Deduplicate,将去除点云列表中重复的数据。

步骤1:算子准备

添加 Trigger 、Load(2个) 、DownSamp(2个)、Concatenate、CloudFilter 算子至算子图。

步骤2:设置算子参数

  1. 设置 Load 算子参数:

    • 类型 → PointCloud

    • 文件 → icon_more → 选择点云文件名( example_data/pointcloud/fruit2.pcd )

  2. 设置 Load_1 算子参数:

    • 类型 → PointCloud

    • 文件 → icon_more → 选择点云文件名( example_data/pointcloud/fruit2.pcd )

  3. 设置 DownSamp 算子参数:

    • 模式 → DownSamp

    • x 方向采样 → 0.011

    • y 方向采样 → 0.01

    • z 方向采样 → 0.01

  4. 设置 DownSamp_1 算子参数:

    • 模式 → UniformSample

    • x 方向采样 → 0.01

  5. 设置 Concatenate 算子参数:点云列表 → icon_visOn 可视

  6. 设置 CloudFilter 算子参数:

    • 类型 → Deduolicate

    • number_percentage →0.9

    • center_distance → 0.02

    • 点云列表 → icon_visOn 可视

步骤4:运行

点击 RVS 运行按钮,触发 Trigger 算子。

运行结果

如下图所示,左图显示点云列表(两张重合点云),右图显示去重后的点云。

image-20230905112913728