pcfitplane

将平面与3-D点云匹配

描述

模型= pcfitplane (ptCloudIn,maxDistance)使一个平面与一个点云匹配,该点与该平面之间具有最大允许距离。该函数返回一个描述平面的几何模型。

此功能使用M-估计样本共识(MSAC)算法来寻找飞机。的MSAC算法是随机样本一致性(RANSAC)算法的变体。

模型= pcfitplane (ptCloudIn,maxDistance,referenceVector)使一个平面适合具有由1×3指定的附加方向约束的点云referenceVector输入。

例子

模型= pcfitplane (ptCloudIn,maxDistance,referenceVector,maxAngularDistance)嵌合的平面到具有指定的最大角距离的点云。

(模型,inlierIndices,outlierIndices) = pcfitplane (ptCloudIn,maxDistance)另外返回点云输入线性指数,可内点和离群点。

(___,meanError) = pcfitplane (ptCloudIn,maxDistance)另外,使用前面的任何语法返回inlier点到模型的距离的平均误差。

例子

(___) = pcfitplane (ptCloudIn,maxDistance,名称,值)使用由一个或多个指定的附加选项名称,值对参数。

例子

全部收缩

加载点云。

负载(“object3d.mat”)

显示并标记点云。

图pcshow (ptCloud)包含(“X (m)”)ylabel(“Y (m)”) zlabel ('Z(M)')标题(原始点云的)

设置平面拟合的最大点面距离(2cm)。

maxDistance = 0.02;

将平面的法向量。

referenceVector = [0, 0, 1];

设置最大角距离到5度。

maxAngularDistance = 5;

检测第一个平面,即表,并从点云中提取它。

[model1, inlierIndices outlierIndices] = pcfitplane (ptCloud,...maxDistance,referenceVector,maxAngularDistance);基准面1 =选择(ptCloud,inlierIndices);remainPtCloud =选择(ptCloud,outlierIndices);

设置的感兴趣区域将搜索范围限制为第二平面,左墙。

roi =[正无穷,0.4,正,负,正);sampleIndices = findPointsInROI (remainPtCloud roi);

检测左边的墙并从剩余的点云中提取它。

[MODEL2,inlierIndices,outlierIndices] = pcfitplane(remainPtCloud,...maxDistance,'SampleIndices', sampleIndices);plane2 =选择(remainPtCloud inlierIndices);remainPtCloud =选择(remainPtCloud outlierIndices);

画出两个平面和剩下的点。

图pcshow (plane1)标题(“第一架飞机”)

图pcshow (plane2)标题(第二架飞机的)

图pcshow (remainPtCloud)标题(“剩下的点云”)

输入参数

全部收缩

点云,指定为点云目的。

从内点指向平面最大距离,指定为标量值。指定与您所使用的点云的单位一致单位的距离。

数据类型:|

参考方向约束,指定为1×3向量。

数据类型:|

拟合面的法线矢量和参考取向之间的最大绝对角距,指定为在度的标量值。

数据类型:|

名称 - 值对参数

的可选逗号分隔对名称,值参数。的名字参数名称和是对应的值。的名字必须出现引号内。您可以按照任何顺序指定多个名称和值对参数名1,值1,...,NameN,值N

例:'SampleIndices',[]

输入点云中采样点的线性指标,指定为逗号分隔对,由SampleIndices'和一个列向量。空向量意味着所有的点都是RANSAC迭代中拟合平面的候选样本。当您指定一个子集时,只对子集中的点进行采样以适合模型。

提供一个子集的点可以显著加快过程和减少试验的数量。你可以生成索引向量findPointsInROI的方法点云目的。

随机试验的最大数目查找内点,指定为逗号分隔的一对组成的“MaxNumTrials'和一个正整数。增加这个值可以使输出更健壮,但会增加额外的计算。

查找最大inliers数的置信百分比,指定为逗号分隔的对,由“信心'和一个数值标量,其范围为[0 100]。增加这个值可以使输出更健壮,但会增加额外的计算。

输出参数

全部收缩

平面的几何模型,返回为planeModel目的。

当输入点云不包含足够的有效点,或者当函数不能找到足够的内点时,输出模型的系数被设为零。

输入点云内的内点的线性指数,作为列向量返回。

输入点云内离群点的线性索引,返回一个列向量。

的内点指向模型的距离的平均误差,返回作为标量值。

参考

[1] Torr, P. H. S.和A. Zisserman。MLESAC:一种用于图像几何估计的鲁棒估计器。计算机视觉和图像理解。2000.

扩展功能

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

介绍了在R2015b