主要内容

pointCloud

用于存储三维点云的对象

描述

这个pointCloud对象从三维坐标系中的一组点创建点云数据,这些点通常表示x,Y,Z样品表面或环境的几何坐标。每个点也可以用额外的信息来表示,比如RGB颜色。点云数据存储为一个对象,其属性列于性质使用目标函数从点云数据中检索、选择和删除所需点的步骤。

创造

描述

云彩=点云(xyzPoints)返回指定坐标的点云对象xyzPoints.

实例

云彩=点云(xyzPoints,名称、值)创建一个pointCloud具有指定为一个或多个属性的名称、值对参数。例如,pointCloud (xyzPoints,“颜色”,[0 0 0])设置颜色点的性质xyzPoints如[0 0 0]。将每个属性名用引号括起来。任何未指定的属性都有默认值。

输入参数

全部展开

三维坐标点,指定为M-by-3点列表或M——- - - - - -N-用于组织点云的by-3阵列。三维坐标点指定x,Y,Z点在三维坐标空间中的位置。有组织点云的前两个维度对应于传感器(如RGBD或lidar)的扫描顺序。此参数设置地方所有物

数据类型:仅有一个的|双重的

输出参数

全部展开

点云,返回为pointCloud具有中列出的属性的对象性质.

性质

全部展开

此属性是只读的。

点在三维坐标空间中的位置,指定为M-by-3或M——- - - - - -N3数组。每个条目指定x,Y,Z三维坐标空间中点的坐标。不能将此属性设置为名称-值对。请使用xyzPoints输入参数。

  • 对于无组织的点云,地方必须指定为M-by-3阵列,其中M为点云中的点总数。

  • 对于有组织的点云,地方必须指定为M——- - - - - -N-by-3阵列。三个通道代表x,Y,Z点的坐标。从投影相机获得的点,如Kinect®或激光雷达传感器,存储为有组织的点云。

数据类型:仅有一个的|双重的

点云颜色,指定为M-by-3或M——- - - - - -N-by-3数组。使用此属性设置点云中点的颜色。每个条目指定点云数据中点的RGB颜色。因此,可以为所有点指定相同的颜色,也可以为每个点指定不同的颜色。

  • 当指定的数据类型时,指定的RGB值必须在范围[0,1]内颜色仅有一个的双重的.

  • 指定的数据类型时,指定的RGB值必须位于范围[0,255]内颜色uint8.

协调 有效转让颜色
M3组 M-包含每个点的RGB值的by-3数组

M——- - - - - -N3组 M——- - - - - -N-包含每个点的RGB值的by-3数组

数据类型:uint8

曲面法线,指定为M-by-3或M——- - - - - -N-by-3数组。使用此属性指定点云中每个点的法向量。曲面法线中的每个条目指定x,Y,Z法向量的分量。

协调 表面法线
M3组 M-by-3数组,其中每一行包含一个相应的法向量。
M——- - - - - -N3组 M——- - - - - -N-by-3数组,包含每个点的1 × 1 × 3法向量。

数据类型:仅有一个的|双重的

每个点的灰度强度,指定为M1的向量或M——- - - - - -N矩阵。该函数将每个强度值映射到当前颜色映射中的颜色值。

协调 强烈
M3组 M-by-1向量,其中每一行包含相应的强度值。
M——- - - - - -N3组 M——- - - - - -N矩阵包含每个点的强度值。

数据类型:仅有一个的|双重的|uint8

此属性是只读的。

点云中的点数,存储为正整数。

此属性是只读的。

沿线坐标范围x-轴,存储为1 × 2向量。

此属性是只读的。

沿线坐标范围Y-轴,存储为1 × 2向量。

此属性是只读的。

沿线坐标范围Z-轴,存储为1 × 2向量。

目标函数

findNearestNeighbors 在点云中找到点最近的邻居
findNeighborsInRadius 找出点云中某一点半径内的邻居
findPointsInROI 在点云中查找感兴趣区域内的点
移除有效点 从点云中移除无效点
选择 在点云中选择点
复制 复制句柄对象数组

例子

全部折叠

将三维坐标点读取到工作区中。

装载(“xyzPoints”);

从输入点坐标创建点云对象。

ptCloud=点云(xyzPoints);

检查点云对象的属性。

云彩
ptCloud = pointCloud with properties: Location: [5184x3 single] Count: 5184 XLimits: [-3 3.4338] YLimits: [-2 2] ZLimits: [0.0016 3.1437] Color: [] Normal: []

使用显示点云pcshow.

pcshow (ptCloud)

图中包含一个轴对象。轴对象包含一个散射类型的对象。

修改点云数据的颜色

创建与点云数据大小相同的RGB颜色数组。将点颜色设置为红色。

cmatrix=个(大小(ptCloud.Location)).[1 0];

创建“颜色”特性设置为RGB颜色阵列的点云对象。

ptCloud=点云(xyzPoints,“颜色”,cmatrix);pcshow(云端)

图中包含一个轴对象。轴对象包含一个散射类型的对象。

将曲面法线添加到点云数据

使用方法计算点云数据对应的表面法线pcnormals.

法线=pcnormals(ptCloud);

从输入点坐标创建点云对象。将计算出的曲面法线添加到点云对象。

ptCloud=点云(xyzPoints,“正常”、法线);

显示点云并打印曲面法线。

pcshow(ptCloud) x = ptCloud. location (:,1);y = ptCloud.Location (:, 2);z = ptCloud.Location (:, 3);u =法线(:1);v =法线(:,2);w =法线(:3);持有quiver3 (x, y, z, u, v, w);持有

图中包含一个轴对象。坐标轴对象包含两个类型为散射和抖动的对象。

提示

这个pointCloud对象是一个手柄对象如果要创建点云的单独副本,可以使用MATLAB®复制方法。

云彩=复制(云彩)

如果希望保留点云的单个副本(可以由点云函数修改),则对输入和输出使用相同的点云变量名。

云彩=pcFunction(云彩)

扩展能力

C / c++代码生成
使用MATLAB®Coder™生成C和c++代码。

介绍了R2015a