主要内容

pointcloud.

存储3-D点云的对象

描述

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

创建

描述

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

例子

Ptcloud.= pointcloud(XYZPOINTS.名称,价值创造一个pointcloud.具有属性的对象指定为一个或多个名称,价值对论点。例如,POINCLOUD(XYZPOINTS,'COLOR',[0 0 0])设置颜色XYZPOINTS.作为[0 0 0]。将每个属性名称括在引号中。任何未指定的属性都有默认值。

输入参数

展开全部

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

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

输出参数

展开全部

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

特性

展开全部

此属性是只读的。

3-D坐标空间中点的位置,指定为m-By-3或m-经过-N-By-3阵列。每个条目指定Xy, 和Z.3-D坐标空间中的一个点的坐标。您无法将此属性设置为名称值对。使用XYZPOINTS.输入参数。

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

  • 对于有组织的点云,地点必须指定为一个m-经过-N-By-3阵列。三个频道代表Xy, 和Z.点的坐标。从投影相机获得的点,例如Kinect®或LIDAR传感器,作为有组织点云存储。

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

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

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

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

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

m-经过-N-By-3阵列 m-经过-N-By-3数组,包含每个点的RGB值

数据类型:uint8.

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

坐标 表面法线
m-By-3阵列 m-By-3阵列,其中每行包含相应的正常矢量。
m-经过-N-By-3阵列 m-经过-N-By-3阵列,每个点包含1×1×3正常矢量。

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

每个点的灰度强度,指定为am-by-1载体或m-经过-N矩阵。该功能将每个强度值映射到当前Colormap中的颜色值。

坐标 强度
m-By-3阵列 m-1个向量,每行包含相应的强度值。
m-经过-N-By-3阵列 m-经过-N矩阵包含每个点的强度值。

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

此属性是只读的。

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

此属性是只读的。

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

此属性是只读的。

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

此属性是只读的。

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

对象功能

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

例子

全部收缩

将3-D坐标点读入工作区。

加载('xyzpoints');

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

ptcloud = pointcloud(xyzpoints);

检查点云对象的属性。

Ptcloud.
ptcloud = pointcloud具有属性:位置:[5184x3单个]计数:5184 xlimits:[-3 3.4338] ylimits:[-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);抓住离开

图包含轴。轴包含2个散射,颤动的物体。

尖端

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

ptcloudb.=复制Ptclouda.

如果要保留一个点云的单个副本,可以通过点云功能修改,使用相同的点云变量名称进行输入和输出。

Ptcloud.=PCFunction.Ptcloud.

扩展能力

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

在R2015A介绍