主要内容

fitPolynomialRANSAC

使用RANSAC多项式适合点

描述

例子

P= fitPolynomialRANSAC (xyPoints,N,maxDistance)找到了多项式系数,P通过抽样一个小点了xyPoints并生成多项式适合。最适合的窗内maxDistance返回。如果找不到合适的,那么P返回空的。函数使用M-estimator样本共识(MSAC)算法,随机样本共识的一种变体(RANSAC)算法以适应数据。

(P,inlierIdx)= fitPolynomialRANSAC (___)返回一个逻辑数组,inlierIdx,指定了索引数据点的内围层符合多项式的基础上maxDistance。从以前的语法使用输入参数。

(___)= fitPolynomialRANSAC (___、名称、值)由一个或多个指定附加选项指定名称,值对参数。

例子

全部折叠

使用RANSAC算法来生成一个多项式适合一组嘈杂的数据。的fitPolynomialRANSAC函数生成多项式的抽样一小点集(x, y)点数据和生成多项式适合。符合最内围层内部maxDistance返回。

构造和情节抛物线(x, y)点。

x = (10:0.1:10)”;y = (36 x ^ 2) / 9;图绘制(x, y)标题(“抛物线”)

图包含一个坐标轴对象。标题为抛物线的坐标轴对象包含一个类型的对象。

添加噪声和异常点对点的抛物线。

y = y +兰德(长度(y), 1);y ((50150、99199)) = [y (50) + 12 y (150) -12, y (99) + 33, y (199) -23);情节(x, y)标题(“抛物线与异常值和噪声”)

图包含一个坐标轴对象。坐标轴对象与标题抛物线异常值和噪声包含一个类型的对象。

使用fitPolynomialRANSAC生成二次多项式的系数。也有内围层被指定的maxDistance从多项式。

N = 2;%二次多项式maxDistance = 1;%最大允许距离内围层为一个点[P, inlierIdx] = fitPolynomialRANSAC ((x, y), N, maxDistance);

计算多项式使用polyval。绘制曲线和叠加(x, y)点。马克用红色圆圈离群值。

yRecoveredCurve = polyval (P (x);图绘制(x, yRecoveredCurve“g”,“线宽”,3)情节(x (inlierIdx), y (inlierIdx),“。”x (~ inlierIdx), y (~ inlierIdx),“罗”)传说(合适的多项式的,“内围层点”,“离群点”)举行

图包含一个坐标轴对象。坐标轴对象包含3线类型的对象。一个或多个行显示的值只使用这些对象标记代表符合多项式,内围层点,离群点。

输入参数

全部折叠

(x, y)坐标点,指定为一个2矩阵。多项式是适合这些点。

数据类型:||uint32|int32|uint16|int16

多项式的次数,P,指定为整数。多项式的次数是最高学位的条件方程。例如,一个二次多项式:

一个x2+Bx+C

一个,B,C是常数。一般来说,高阶多项式允许一个更好的健康,但健康取决于您的数据。

最大距离多项式曲线适合一个窗,指定为一个积极的标量。任何点远被认为是离群值。RANSAC算法创建一个适合小样本点但是试图最大化的内围层点的数量。降低最大距离有助于改善多项式适合用一个更严格的公差内围层分。

名称-值参数

指定可选的双参数作为Name1 = Value1,…,以=家,在那里的名字参数名称和吗价值相应的价值。名称-值参数必须出现在其他参数,但对的顺序无关紧要。

R2021a之前,用逗号来分隔每一个名称和值,并附上的名字在报价。

例子:“MaxNumTrials”, 2000年

最大数量的随机试验,指定为逗号分隔两人组成的MaxNumTrials”和一个整数。一个试验使用最小数量的随机分xyPoints适合一个抛物线模型。然后,试验检查内窗的数量maxDistance从模型。毕竟试验,模型数量最高的内围层被选中。增加试验的数量提高了鲁棒性输出的额外费用的计算。

信心,最终解决发现的最大内围层数的多项式,指定为逗号分隔两人组成的信心和一个标量从0到100。增加这个值提高了鲁棒性输出的额外费用的计算。

验证多项式函数,指定为逗号分隔两人组成的“ValidatePolynomialFcn和一个函数处理。函数返回真正的如果多项式接受基于标准中定义的函数。使用这个函数拒绝特定的多项式适合。表单的功能必须:

isValid = validatePolynomialFcn (P,变长度输入宗量)

如果没有指定函数,多项式都被认为是有效的。

最大数量的试图找到一个样本产生一个有效的多项式,指定为逗号分隔两人组成的“MaxSamplingAttempts”和一个整数。

输出参数

全部折叠

多项式的系数,作为一个向量返回的数字标量。每个元素对应于一个常数多项式方程的学位N。例如,对于一个二次多项式,一个x2+Bx+C:

P = (A B C);

数据类型:|

内围层点,作为一个逻辑向量返回。向量长度一样xyPoints,每个元素表示如果这一点是一个多项式适合基于窗maxDistance

引用

[1]托,p·h·S。,一个。Zisserman. "MLESAC: A New Robust Estimator with Application to Estimating Image Geometry."计算机视觉和图像理解。问题1卷。18日,2000年4月,第138 - 156页。

版本历史

介绍了R2017a

另请参阅

||