matlab用圆柱拟合点云的函数 |
您所在的位置:网站首页 › 用matlab绘制圆柱 › matlab用圆柱拟合点云的函数 |
函数[model,inlierIndices,outlierIndices,rmse]=pcfitcylinder(varargin) %PCFITCYLINDER将圆柱体装配到三维点云。 %model=PCFITCYLINDER(ptCloud,maxDistance)将圆柱体拟合到 %点云,ptCloud。气缸由气缸模型描述 %对象。maxDistance是允许与入口的最大距离 %指向气缸。此函数使用M-估计器SAmple %一致性(MSAC)算法来找到圆柱体。 %model=PCFITCYLINDER(…,referenceVector)将圆柱体拟合到 %具有附加方向约束的点云。referenceVector是 %使用1乘3的矢量作为参考方向。 % %model=PCFITCYLINDER(…,referenceVector,maxAngularDistance)适合 %圆柱体到具有附加方向约束的点云。 %maxAngularDistance指定允许的最大绝对角度 %安装气缸的方向和 %参考方向。如果未指定,则默认值为5度。 % %[…,inlierIndices,outlierIndices]=额外的PCFITCYLINDER(…) %将线性索引返回到ptCloud中的内点和外点。 % %[…,rmse]=PCFITCYLINDER(…)额外返回均方根 %内点到模型的距离的误差。 % %[…]=PCFITCYLINDER(…,Name,Value)指定附加名称值 %对参数如下所述: % %“SampleIndices”指定点的线性索引的向量 %以在输入点云中进行采样。这个 %例如,索引可以通过以下方式生成 %pointCloud对象的findPointsInROI方法。 %默认情况下,将处理整个点云。 % %默认值:[] % %“MaxNumTrials”指定最大值的正整数标量 %用于寻找内点的随机试验次数。 %增加该值将提高稳健性 %以牺牲额外产出为代价 %计算。 % %默认值:1000 % %“Confidence”一个数值标量,C,0<C<100,指定 %查找所需的置信度(百分比) %最大入口数量。增加这个 %值将提高输出的稳健性 %以额外计算为代价。 % %默认值:99 % %注意事项: % ------ %-拟合算法需要点云法线。如果 %输入ptCloud的Normal属性为空,函数将填充该属性。 % %-当Normal属性自动填充时 %拟合局部平面的点K设置为6。此默认值可能不起作用 %在任何情况下。如果安装失败,请考虑致电 %pcnormals函数的自定义值为K。 % %课堂支持 % ------------- %ptCloud必须是pointCloud对象。 % %示例:从点云中检测圆柱体 % ------------------------------------------- %加载('object3d.mat'); % %数字 %pcshow(ptCloud) %xlabel('X(m)') %伊拉贝尔('Y(m)') %zlabel('Z(m)') %title(“原始点云”) % %%设置气缸装配的最大点到气缸距离(5mm) %最大距离=0.005; % %%设置roi以限制搜索 %roi=[0.4,0.6,-inf,0.2,0.1,inf]; %sampleIndices=findPointsInROI(ptCloud,roi); % %%设置方向约束 %referenceVector=[0,0,1]; % %%检测圆柱体并从点云中提取 %[model,inlierIndics]=pcfitcylinder(ptCloud,最大距离,。。。 %referenceVector,“SampleIndices”,SampleIndices); %pc=选择(ptCloud,inlierIndices); % %%绘制圆柱体 %数字 %个人电脑节目 %title(“圆柱点云”) % %另请参阅pointCloud,pointCloud>findPointsInROI,cylinderModel,pcshow, %pcfitplane、pcfitsphere %版权所有2015 The MathWorks,Inc。 % %参考文献: % ---------- %P.H.S.Torr和A.Zisserman,“MLESAC:一种新的鲁棒估计 %计算机视觉与图像在估计图像几何中的应用 %理解,2000年。 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |