点云工具

加载点云图工具

加载点云图工具 (PointCloudLoadTool) 可加载点云。点云是点的集合,包含了点的空间坐标信息、对应色彩和点的法向量,是 3D 工具中的基本数据结构。

Vision++ 支持加载的点云文件格式包括:*.npz、 *.xyz、 *.xyzi、 *.xyzn、 *.xyzrgb、 *.pcd、 *.ply、 *.pts。其中 (x, y, z) 为点的空间坐标,n 为法向量信息,(r, g, b) 为点的颜色信息。

输入输出终端说明

终端名称

终端类型

数据类型

内容描述

FilePath

输入型

String

待加载点云的文件路径

ResultPointCloud

输出型

PointCloud

加载的点云

参数说明

  • 目录:点击 ,选择目标点云所在路径。

Note

待加载点云的文件路径不能含有中文。

结果说明

工具运行后,加载点云图工具 页面图像显示区会显示加载的点云。

保存点云图工具

保存点云图工具 (PointCloudSaveTool) 可将输入的点云图保存至目标路径下。

Vision++ 支持保存的点云文件格式包括:*.npz、 *.xyz、 *.xyzi、 *.xyzn、 *.xyzrgb、 *.pcd、 *.ply、 *.pts。其中, (x,y,z) 为点的空间坐标,n 为法向量信息,(r,g,b) 为点的颜色信息。

输入输出终端说明

终端名称

终端类型

数据类型

内容描述

FilePath

输入型

String

保存路径

InputPointCloud

输入型

PointCloud

输入的点云

参数说明

  • 目录:点云的保存路径。

    Tip

    1. 此处支持填写绝对路径或相对路径。例如:

      • 绝对路径 D:\project\1.xyz

      • 相对路径 image\1.xyz ,表示将点云保存至{当前工程的存储路径}\image\1.xyz。

    2. 点云的默认路径:{当前工程的存储路径}\工程名\1.xyz。

    Note

    1. 当有重名的文件时,Vision++ 会采用覆盖保存的方法。

    2. 保存路径不能含有中文。

  • 保存:点击“保存”,即将输入点云保存至设置的路径下。

结果说明

工具运行或点击“保存”后,输入的点云图即保存成功。

点云转换工具

点云转换工具 (PointCloudTransformTool) 可将输入的点云图进行平移、缩放和旋转。

输入输出终端说明

终端名称

终端类型

数据类型

内容描述

InputPointCloud

输入型

PointCloud

输入的点云图

Translate

输入型

Vec3f

点云在 XYZ 轴方向的平移量

ScaleFactor

输入型

Double

点云的缩放系数

ScaleCenter

输入型

Point3f

点云的缩放中心

RotationCenter

输入型

Point3f

点云的旋转中心

Euler

输入型

Vec3f

点云的旋转中心

OutputPointCloud

输出型

PointCloud

转换后的点云图

参数说明

平移

  • X/Y/Z:点云在 XYZ 轴方向的平移量。单位:与输入的点云单位一致。

缩放

  • 系数:点云的缩放系数。设定值在 (0, 1) 区间则表示将输入点云在 XYZ 轴方向进行缩小操作。设定值在 (1, +∞) 区间则表示将输入点云在 XYZ 轴方向进行放大操作。

  • X/Y/Z:缩放中心的坐标 (X,Y,Z)。单位:与输入的点云单位一致。

旋转

  • 旋转中心 X/Y/Z:点云的旋转中心坐标 (X,Y,Z)。单位:与输入的点云单位一致。

  • 欧拉角 Alpha/Beta/Gamma:点云分别绕控制器 X/Y/Z 轴旋转的角度。单位:度。

结果说明

工具运行后,在 点云转换工具 页面图像显示区查看输入的点云 (InputPointCloud) 和转换后的点云 (OutputPointCloud) 。

点云裁剪工具

点云裁剪工具 (PointCloudCropTool) 可通过有向边界框裁剪输入点云。

输入输出终端说明

终端名称

终端类型

数据类型

内容描述

InputPointCloud

输入型

PointCloud

输入的点云图

CropBox

输入型

OrientedBoundingBox3d

用于裁剪的有向边界框

Invert

输入型

Boolean

是否采用反向截取模式

MergedPointCloud

输出型

PointCloud

裁剪后的点云图

参数说明

设置

  • 反向截取:用于设置点云截取模式。

    • 取消勾选“反向截取”表示截取有向边界框之内的点云。

    • 勾选“反向截取”表示截取有向边界框之外的点云。

有向边界框

  • 欧拉角 Alpha/Beta/Gamma:有向边界框分别绕控制器 X/Y/Z 轴旋转的角度。

  • 平移 X/Y/Z:有向边界框相对于坐标系原点的平移量 (X,Y,Z)。

  • 宽度:有向边界框的宽度。

  • 高度:有向边界框的高度。

  • 长度:有向边界框的长度。

  • 辅助定位:点击“辅助定位”,有向边界框中心会移动到点云中心,大小会自动适应点云的大小。

结果说明

工具运行后,在 点云裁剪工具 页面图像显示区可查看输入的点云 (InputPointCloud)、裁剪后的点云 (OutputPointCloud)、有向边界框 (CropBox)。

点云拼接工具

点云拼接工具 (PointCloudMergeTool) 可将两个输入点云拼接成一个点云。

输入输出终端说明

终端名称

终端类型

数据类型

内容描述

InputPointCloud1

输入型

PointCloud

输入的点云图 1

InputPointCloud2

输入型

PointCloud

输入的点云图 2

MergedOutputPointCloud

输出型

PointCloud

已拼接的点云图

结果说明

工具运行后,在 点云拼接工具 页面图像显示区可查看输入的点云 1 (InputPointCloud1)、输入的点云 2 (InputPointCloud2)、拼接后输出的点云 (OutputPointCloud)。

点云无效点移除工具

点云无效点移除工具 (PointCloudPointRemoveTool) 可对输入点云进行处理,移除点云中重复的点,非有限的点、半径异常的点、统计值异常的点。

输入输出终端说明

终端名称

终端类型

数据类型

内容描述

InputPointCloud

输入型

PointCloud

输入的点云图

RemoveMethod

输入型

RemoveMethodType

点云移除方式

RemoveNaN

输入型

Boolean

是否移除无效值

RemoveInfinite

输入型

Boolean

是否移除无限大的点

NbPoints

输入型

Int32

点数量

SearchRadius

输入型

Double

搜索半径

NbNeighbors

输入型

Int32

邻域点数量

StdRatio

输入型

Double

标准差系数

OutputPointCloud

输出型

PointCloud

输出的点云图

参数说明

参数

  • 方式:点云无效点的移除方式。

    • 重复的点:该方式为移除点云中重复的点。

    • 非有限:该方式为移除无效值(NAN)和无限大(INF)的点。

    • 半径异常:该方式为根据点数量和搜索半径移除点。若在某点的搜索半径内的点云数量少于点数量设定值,则移除该点。

    • 统计值异常:该方式为根据邻域点数量和标准差系数移除点。根据相邻点云的统计值(平均值±标准差系数 x 标准差)判断该片点云是否为邻域,若邻域内的点少于邻域点数量的设定值,则移除该邻域。

结果说明

工具运行后,在 点云无效点移除工具 页面图像显示区可查看输入的点云(InputPointCloud)和输出的点云 (OutputPointCloud)。

点云边界框工具

点云边界框工具 (PointCloudBoundingBoxTool) 可生成输入点云的常规边界框和有向边界框。

输入输出终端说明

终端名称

终端类型

数据类型

内容描述

InputPointCloud

输入型

PointCloud

输入的点云图

ConstraintPlaneNormal

输入型

Vec3d

约束平面法线

BoundingBox

输出型

BoundingBox3d

生成的常规边界框

OrientedBoundingBox

输出型

OrientedBoundingBox3d

生成的有向边界框

参数说明

约束平面法线

  • X/Y/Z:约束平面法线 (X,Y,Z),指定有向边界框一个面的法向量。

结果说明

工具运行后,在 有向边界框工具 页面图像显示区域可查看输入点云 (InputPointCloud)、常规边界框 (BoundingBox)、有向边界框 (OrientedBoundingBox),页面右下角显示常规边界框和有向边界框的数据,包括:

有向边界框

  • 欧拉角:有向边界框分别绕控制器 X/Y/Z 轴旋转的角度

  • 平移 X/Y/Z:有向边界框的中心点坐标

  • 宽度:有向边界框的宽度

  • 长度:有向边界框的长度

  • 高度:有向边界框的高度

边界框

  • 最小边界点:普通边界框的最小边界点

  • 最大边界点:普通边界框的最大边界点

点云降采样工具

点云降采样工具 (PointCloudDownSampleTool) 可对输入的点云进行稀疏化处理,提高运行效率。

输入输出终端说明

终端名称

终端类型

数据类型

内容描述

InputPointCloud

输入型

PointCloud

输入的点云图

DownSampleMethod

输入型

DownSampleMethodType

降采样类型

VoxelSize

输入型

Double

体素采样的体素尺寸

EveryPoints

输入型

Int32

均匀采样的间隔点数

SamplingRatio

输入型

Double

随机采样的采样率

NumSamples

输入型

Int32

最远点采样的保留点数

OutputPointCloud

输出型

PointCloud

输出的点云图

参数说明

参数

  • 方式:点云降采样的方式。

    • 体素 选择“体素”方式,并设置体素的“尺寸”。每个体素内取一个点。

    • 均匀 选择“均匀”,并设置取样的间隔点数。每隔 X 个点取一个点 。

    • 随机 选择“随机”方式,并设置“采样率”。采集点数 = 输入点云 x 采样率。

    • 最远点 选择“最远点”方式,并设置点云的“保留数量”。随机取某点的最远点,多次取样,最后保留设定数量个点。

结果说明

工具运行后,点云降采样工具 页面图像显示区可查看输入点云 (InputPointCloud) 和输出点云 (OutputPointCloud)。