主要内容

findpointsinroi.

在点云中查找一个感兴趣区域内的积分

描述

例子

指数= findpointsinroi(Ptcloud.ROI.在输入点云中返回感兴趣区域(ROI)内的点。使用基于KD-Tree的搜索算法获得指定ROI内的点。

例子

指数= findpointsinroi(Ptcloud.ROI.Cammatrix.返回输入点云的ROI区域内的点。输入点云是由深度相机生成的有组织点云。使用快速近似邻居搜索算法获得指定ROI内的点。

该功能使用相机投影矩阵Cammatrix.要了解相邻点之间的关系,因此加快搜索。然而,与基于KD树的方法相比,结果具有较低的精度。

笔记

  • 此语法仅支持由RGB-D传感器产生金宝app的有组织的点云数据。

  • 您可以使用估计估计给定点云数据的相机投影矩阵。

例子

全部收缩

将点云数据读入工作区。

ptcloud =缺陷('茶壶.ply');

在范围内定义长方体投资单XyZ.输入点云的坐标。

ROI = [-2 2 -2 2 2.4 3.5];

找到在长方体ROI内的点数的指数。

indices = findpointsinroi(ptcloud,Roi);

选择躺在Cubod Roi中的点并存储为点云对象。

ptcloudb = select(ptcloud,索引);

在指定的ROI中显示输入点云和点云。

图pcshow(ptcloud.location,[0.5 0.5 0.5])保持pcshow(ptcloudb.location,'r');传奇('点云''在ROI中的点''地点''southoutside''颜色',[1 1 1])保持离开

图包含轴。轴包含2个类型的散射物体。这些对象代表点云,ROI内的点。

通过使用相机投影矩阵在有组织的点云数据中查找Cuboid ROI中的点。从采样点云数据点及其相应的图像点坐标计算摄像机投影矩阵。

将有组织的点云数据加载到工作区中。通过使用Kinect深度传感器生成点云。

ld = load('Object3d.mat');ptcloud = ld.ptcloud;

指定对点云数据采样的步长。

stepsize = 100;

示例输入点云并将采样的3-D点坐标存储为点云对象。

indices = 1:步骤化:ptcloud.count;tempptcloud = select(ptcloud,indices);

从采样点云中删除无效点。

[tempptcloud,validindices] = removeInvalidPoints(tempptcloud);

从输入点云获取3-D世界点坐标。

WorldPoints = tempptcloud.location;

找到与输入点云的3-D点坐标对应的2-D图像坐标。

[y,x] = IND2SUB([大小(PTCloud.Location,1),大小(PTCloud.Location,2)],指数);imagePoints = [x(validindices)'y(validindices)'];

从图像和世界点坐标估计相机投影矩阵。

cammatrix = rightatecameramatrix(Verippoints,WorldPoints);

在范围内指定长方体ROIXyZ.输入点云的坐标。

ROI = [0.3 0.7 0 0.4 0.1 0.3];

查找位于长方体ROI内的点云数据的指数。

indices = findpointsinroi(ptcloud,roi,cammatrix);

使用点云方法选择获取ROI内点的点云数据。

ptcloudb = select(ptcloud,索引);

显示输入点云和长方体ROI内的点。

图pcshow(ptcloud)保持pcshow(ptcloudb.location,'r');传奇('点云''ROI内的点''地点''southoutside''颜色',[1 1 1])保持离开

图包含轴。轴包含2个类型的散射物体。这些对象表示点云,ROI内的点。

输入参数

全部收缩

点云,指定为apointcloud.目的。

感兴趣的地区,被指定为六元素矢量[XMIN.Xmax.yminymaxZmin.Zmax.], 在哪里:

  • XMIN.Xmax.是最小和最大限制X- 分别。

  • yminymax是最小和最大限制y- 分别。

  • Zmin.Zmax.是最小和最大限制Z.- 分别。

摄像机投影矩阵,指定为4×3矩阵,将3-D世界指向2-D图像点。你可以找到Cammatrix.通过使用估计功能。

输出参数

全部收缩

存储点的指数,作为列向量返回。矢量包含存储在点云中的ROI点的线性指标。

参考

[1] Muja,M.和David G. Lowe。“具有自动算法配置的快速近似邻居”。在Visapp国际计算机视觉理论和应用中的国际会议中。2009.第331-340页。

扩展能力

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

也可以看看

||

在R2015A介绍