主要内容

pointCloud

对象存储三维点云

描述

pointCloud对象创建点云数据三维点集的坐标系统的点通常代表了x,y,z样品的表面或者环境的几何坐标。每一个点也可以用额外的信息表示,如RGB颜色。点云数据存储作为对象的属性中列出属性。使用对象的功能检索、选择和删除从点云数据所需的点。

创建

描述

ptCloud= pointCloud (xyzPoints)返回一个与指定的坐标点云对象xyzPoints

例子

ptCloud= pointCloud (xyzPoints,名称=值)指定选项使用一个或多个名称参数除了参数从以前的语法的任意组合。例如,pointCloud (xyzPoints,颜色= [0 0 0])设置颜色财产分xyzPoints(0 0 0)

输入参数

全部展开

三维坐标点,指定为一个3点或一个列表——- - - - - -N3组为一个有组织的点云。三维坐标点指定x,y,z位置点的三维坐标空间。前两个维度的组织点云对应的扫描顺序RGBD或激光雷达等传感器。这个参数设置位置财产。

数据类型:|

输出参数

全部展开

点云,作为一个返回pointCloud对象的属性中列出属性

属性

全部展开

这个属性是只读的。

位置点的三维坐标空间,指定为一个3或——- - - - - -N3数组。每个条目指定了x,y,z坐标点的三维坐标空间。的xyzPoints输入参数设置这个属性。

  • 无组织的点云,位置必须指定作为一个吗3组,点的总数,阵列提供了吗x,y,z每个点的坐标。

  • 组织点云,位置必须指定作为一个吗——- - - - - -N3组,*N点的总数,阵列提供了吗x,y,z每个点的坐标。点从投影相机,获得如Kinect®或激光雷达传感器,被存储为一个有组织的点云。有组织的点云布局为点,像一个类似影像结构的二维数组。

数据类型:|

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

  • 指定的RGB值必须躺在[0,1]的经营范围内,当您指定的数据类型颜色作为

  • 指定的RGB值必须躺在[0,255]的经营范围内,当您指定的数据类型颜色作为uint8

坐标 有效的分配颜色
3组 为每个点3数组包含RGB值

——- - - - - -N3组 ——- - - - - -N为每个点3数组包含RGB值

数据类型:uint8

表面法线,指定为一个3或——- - - - - -N3数组。使用这个属性来指定法向量中每个点对点云。表面法线中的每个条目指定了x,y,z组件的一个法向量。

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

数据类型:|

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

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

数据类型:||uint8|uint16

这个属性是只读的。

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

这个属性是只读的。

范围的坐标x设在,存储为1×2向量。

这个属性是只读的。

范围的坐标y设在,存储为1×2向量。

这个属性是只读的。

范围的坐标z设在,存储为1×2向量。

对象的功能

findNearestNeighbors 在点云找到最近的邻居的一个点
findNeighborsInRadius 发现邻居的半径内点的点云
findPointsInROI 找到感兴趣的点在一个区域的点云
removeInvalidPoints 从点云删除无效的点
选择 选择在点云
复制 复制点云对象的数组

例子

全部折叠

三维坐标点解读工作区。

负载(“xyzPoints”);

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

ptCloud = pointCloud (xyzPoints);

检查对象的属性点云。

ptCloud
ptCloud = pointCloud属性:位置:[5184 x3单]数:5184 XLimits: 3.4338 [3] YLimits: [2 2] ZLimits:[0.0016 - 3.1437]颜色:正常:[][]强度:[]

显示使用的点云pcshow

pcshow (ptCloud)

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

修改颜色的点云数据

创建一个RGB颜色数组的尺寸一样大小的点云数据。点的颜色设置为红色。

cmatrix = 1(大小(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对象是一个处理对象。如果你想创建一个单独的副本点云,您可以使用MATLAB®复制方法。

ptCloudB=复制(ptCloudA)

如果你想保留点云的一个副本,可以修改的点云功能,使用相同的点云为输入和输出变量名称。

ptCloud=pcFunction(ptCloud)

扩展功能

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

版本历史

介绍了R2015a