点云工具
加载点云图工具
加载点云图工具 (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
此处支持填写绝对路径或相对路径。例如:
绝对路径
D:\project\1.xyz
相对路径 image\1.xyz ,表示将点云保存至{当前工程的存储路径}\image\1.xyz。
点云的默认路径:{当前工程的存储路径}\工程名\1.xyz。
Note
当有重名的文件时,Vision++ 会采用覆盖保存的方法。
保存路径不能含有中文。
保存:点击“保存”,即将输入点云保存至设置的路径下。
结果说明
工具运行或点击“保存”后,输入的点云图即保存成功。
点云转换工具
点云转换工具 (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)。