PCFitplane.

适合飞机到3-D点云

描述

模型= PCFitplane(ptcloudinMaxdistance.适用于一个点云的平面,该点云具有从Inlier点到平面的最大允许距离。该函数返回描述平面的几何模型。

此功能使用M-Everialator样本共识(MSAC)算法来找到平面。MSAC算法是随机样本共识(RANSAC)算法的变体。

模型= PCFitplane(ptcloudinMaxdistance.参考矢量适用于一个点云的飞机,该云具有由1-by-3指定的其他方向约束参考矢量输入。

例子

模型= PCFitplane(ptcloudinMaxdistance.参考矢量maxangulardistance.适合具有指定最大角度距离的点云的平面。

[模型inlierindicesuterierindices] = PCFitplane(ptcloudinMaxdistance.另外,在点云输入中的Inlier和异常值返回线性索引。

[___意思是] = PCFitplane(ptcloudinMaxdistance.另外,使用任何前面的语法返回模型到模型的距离的平均误差。

例子

[___] = PCFitplane(ptcloudinMaxdistance.名称,价值使用一个或多个指定的其他选项名称,价值对论点。

例子

全部收缩

加载点云。

加载('Object3d.mat'

显示并标记点云。

图pcshow(ptcloud)xlabel('x(m)')ylabel('y(m)')Zlabel('z(m)') 标题('原始点云'

设置平面配件的最大点对平面距离(2cm)。

maxdistance = 0.02;

设置平面的常规矢量。

参考矢量= [0,0,1];

将最大角度距离设置为5度。

maxangulardistance = 5;

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

[Model1,Inlierindices,OutierIndices] = PCFitplane(PTCloud,......Maxdistance,CaperencVector,Maxangulardistance);Plane1 = SELECT(PTCLOUD,INLIELINDICES);保留= select(ptcloud,countierindices);

设置感兴趣的区域以限制对第二架飞机,左壁的搜索。

ROI = [-inf,INF; 0.4,INF; -INF,INF];Sampleindices = findpointsinroi(仍然是vTond,ROI);

检测左壁并从剩余点云提取它。

[model2,Inlierindices,OutierIndices] = PCFitplane(保留了vercloud,......Maxdistance,'Samemindices',样品暗物典);Plane2 = SELECT(保留为止,INLIERINDICES);保留= SELECT(保留为止,outlierIndices);

绘制两个平面和剩下的点。

图pcshow(平面)标题('第一架飞机'

图pcshow(平面)标题('第二架飞机'

图pcshow(保留了)标题('剩下的点云'

输入参数

全部收缩

点云,指定为apointcloud.目的。

从Inlier点到平面的最大距离,指定为标量值。指定与您正在使用的单位为点云的单位的距离。

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

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

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

拟合平面的正常矢量与参考方向之间的最大绝对角距离,指定为度数的标量值。

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

名称值对参数

指定可选的逗号分离对名称,价值论点。姓名是参数名称和价值是相应的价值。姓名必须出现在引号内。您可以以任何顺序指定多个名称和值对参数name1,value1,...,namen,valuen

例子:'Samemindices'[]

输入点云中样本点的线性指标,指定为由“逗号分隔的对”Samemindices.'和一列向量。空载体意味着所有点都是候选人在Ransac迭代中采样以适合飞机。指定子集时,仅采样子集中的点以适合模型。

提供一个点的子集可以显着加速过程并减少试验的数量。您可以使用索引矢量使用findpointsinroi.方法的方法pointcloud.目的。

用于查找inliers的最大随机试验次数,指定为由“逗号分隔的配对”maxnumtrial'和一个积极的整数。增加此值使输出更强大但增加了额外的计算。

寻找最大inliers的信心百分比,指定为由“逗号分隔的对”信心'和一个数字标量,在范围内[0 100]。增加此值使输出更强大但增加了额外的计算。

输出参数

全部收缩

飞机几何模型,作为一个返回PlaneModel.目的。

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

输入点云中Inlier点的线性指标,作为列向量返回。

输入点云中的异常值点的线性指标,作为列向量返回。

Inlier点到模型的距离的平均误差,作为标量值返回。

参考

[1] Torr,P.H. S.和A. Zisserman。“MLESAC:一种具有应用于估计图像几何的新的强大估算器。”计算机视觉和图像理解。2000年。

扩展能力

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

在R2015B中介绍