主要内容

PCFitsphere.

适合球体到3-D点云

描述

模型= pcfitsphere(ptcloudinMaxdistance.适合与距离Inlier点到球体的最大允许距离的点云。该函数返回描述球体的几何模型。

该函数使用M估算器样本共识(MSAC)算法来找到球体。MSAC算法是随机样本共识(RANSAC)算法的变体。

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

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

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

例子

全部收缩

加载数据文件。

加载('Object3d.mat');

显示原始点云。

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

为球形配件设置最大点对角距离1cm。

maxdistance = 0.01;

设置ROI以约束搜索。

ROI = [-INF,0.5,0.2,0.4,0.1,INF];Sampleindices = FindPointsinroi(Ptcloud,ROI);

检测球体,地球,并从点云中提取它。

[Model,Inlierindices] = PCFitsphere(PTCloud,MaxDistance,......'Samemindices',样品暗物典);Globe = Select(PtCloud,Inlierindices);

绘制地球。

保持情节(模型)

图PCSHOW(GLOBE)标题(“全球点云”

输入参数

全部收缩

点云,指定为apointcloud.目的。

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

数据类型:|

名称值对参数

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

例:'Samemindices'[]

输入点云中样本点的线性指标,指定为由“逗号分隔的对”Samemindices.'和一列向量。空向量意味着所有点都是候选人来在Ransac迭代中采样以适合球体。指定子集时,仅采样子集中的点以适合模型。提供一个点的子集可以显着加速过程并减少试验的数量。您可以使用索引矢量使用findpointsinroi.方法的方法pointcloud.目的。

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

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

输出参数

全部收缩

球体的几何模型,作为一个返回Spheremodel.目的。

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

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

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

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

参考资料

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

扩展能力

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

在R2015B中介绍