主要内容

pointCloud

存储3-D点云的对象

描述

pointCloud对象从3-D坐标系中的一组点创建点云数据,该点通常代表Xy,Z.样品表面或环境的几何坐标。每个点也可以用其他信息表示,比如RGB颜色。点云数据以对象的形式存储,其属性列在特性。用对象功能从点云数据中检索,选择和删除所需的点。

创建

描述

Ptcloud.= pointcloud(xyzPoints指定的坐标返回点云对象xyzPoints

例子

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

输入参数

展开全部

三维坐标点,指定为m- 3点或点列表m——- - - - - -N用于有组织点云的-3阵列。3-D坐标点指定了Xy,Z.3-D坐标空间中的一个点的位置。有组织点云的前两个维度对应于来自RGBD或LIDAR等传感器的扫描顺序。这个论点设置了地点财产。

数据类型:单身的|双倍的

输出参数

展开全部

点云,作为一个返回pointCloud具有列入的属性的对象特性

特性

展开全部

此属性是只读的。

点在三维坐标空间中的位置,指定为m-By-3或m——- - - - - -N3数组。每个条目指定Xy,Z.3-D坐标空间中的一个点的坐标。您无法将此属性设置为名称值对。使用xyzPoints输入参数。

  • 对于未经组织的点云,地点必须指定为m-By-3阵列,在哪里m为点云中点的总数。

  • 对于有组织的点云,地点必须指定为m——- - - - - -N3数组。三个频道代表Xy,Z.点的坐标。从投影相机获得的点,例如Kinect®或者激光雷达传感器,被存储为一个有组织的点云。

数据类型:单身的|双倍的

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

  • 指定的数据类型时,指定的RGB值必须在[0,1]范围内颜色作为单身的双倍的

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

坐标 有效分配颜色
m3组 m-By-3数组,包含每个点的RGB值

m——- - - - - -N3组 m——- - - - - -N-By-3数组,包含每个点的RGB值

数据类型:uint8.

表面法线,指定为am-By-3或m——- - - - - -N3数组。使用此属性指定相对于点云中的每个点的普通向量。曲面正常的每个条目指定Xy,Z.正常矢量的组成部分。

坐标 表面法线
m3组 m-by-3数组,每一行包含一个相应的法向量。
m——- - - - - -N3组 m——- - - - - -N-by-3数组包含每个点的1 × 1 × 3法向量。

数据类型:单身的|双倍的

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

坐标 强度
m3组 m- × 1向量,其中每行包含相应的强度值。
m——- - - - - -N3组 m——- - - - - -N矩阵包含每个点的强度值。

数据类型:单身的|双倍的|uint8.

此属性是只读的。

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

此属性是只读的。

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

此属性是只读的。

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

此属性是只读的。

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

对象功能

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

例子

全部折叠

将3d坐标点读取到工作区中。

加载(“xyzPoints”);

根据输入点坐标创建点云对象。

ptcloud = pointcloud(xyzpoints);

检查点云对象的属性。

Ptcloud.
[-3 3.4338] YLimits: [-2 2] ZLimits:[0.0016 3.1437]颜色:[]正常:[]强度:[]

通过使用显示点云pcshow

pcshow(ptcloud)

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

修改点云数据的颜色

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

cmatrix = in(大小(ptcloud.location))。* [1 0 0];

使用设置为RGB颜色阵列的颜色属性创建点云对象。

ptcloud = pointcloud(xyzpoints,“颜色”,cmatrix);pcshow(ptcloud)

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

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

使用点云数据计算对应的曲面法线pcnormals

法线= pcnormals(ptcloud);

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

ptcloud = pointcloud(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);持有

图中包含一个轴。坐标轴包含两种类型的对象:散射(scatter)和抖动(quiver)。

提示

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

ptcloudb.=复制Ptclouda.

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

Ptcloud.=PCFunction.Ptcloud.

扩展能力

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

介绍了R2015a