主要内容

。

PCFitplane.

3次元点群への平衡の近似

说明

模型= PCFitplane(ptcloudinMaxdistance.は,インライア点から平衡まで最大大许容がされて点群に面を近似しますこの面をし。

この关节,M估算器样本共识(MSAC)アルゴリズムアルゴリズム使使してををしますますますますますます.MSACアルゴリズムは,随机样本共识(RANSAC)アルゴリズムアルゴリズムバリアントです。

模型= PCFitplane(ptcloudinMaxdistance.参考矢量は,1行3列の参考矢量入力又加入の向の制约がれている点群に面近似近似近似し近似し

模型= PCFitplane(ptcloudinMaxdistance.参考矢量maxangulardistance.は,最大角距离がされている点群にをを近似ます。

[模型inlierindicesuterierindices] = PCFitplane(ptcloudinMaxdistance.は,点群入力のインライア点と外れ値点の線形インデックスを追加で返します。

[___意思是] = PCFitplane(ptcloudinMaxdistance.は,前述前述の构构のいずれかを用し,インライア点からモデルの距离平等误差误差追追返し返し返し

[___] = PCFitplane(ptcloudinMaxdistance.名称,价值は,1つ以上の名称,价值ペアの引数によって指定された追加オプションを使用します。

すべて折りたたむ

点群を読み込みます。

加载('Object3d.mat'

点群を表示しラベルを付けます。

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

平台近似近似に点点までの最大大(2厘米)を设定します。

maxdistance = 0.02;

平面の法線ベクトルを設定します。

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

最大角距离を5度に设定ます。

maxangulardistance = 5;

最初の平衡であるテーブルを検出して,点群から抽出します。

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

关联领域を设定し2番目の平等である左壁の探索范囲をを制ますますししますししますますますししし

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

残りの点群点群から左左壁を検出しして抽出し

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

2つの平面と残り点点プロットします。

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

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

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

入力数

すべて折りたたむ

点群。pointcloud.オブジェクトとして指定します。

インライア点から距离まで最として指定ます。

データ型:单身的|双倍的

基于制约制约.1行3列ので指定しししし。

データ型:单身的|双倍的

近似さと基于向ベクトルの値として距离。

データ型:单身的|双倍的

名称と値のペアペアの数

オプションの引数名称,价值のコンマ区切りペアを指定します。名称は数名で,价值は対応する値です。名称はは用符符で囲まなけれなけれなりませませませなりませませName1, Value1,…,的家のように,複数の名前と値のペアの引数を,任意の順番で指定できます。

例:'Samemindices'[]

入力点群でサンプリングする点の线インデックス。'Samemindices.“と列ベクトルで構成されるコンマ区切りのペアとして指定します。空ベクトルの場合は,平面を近似するRANSAC反復ですべての点がサンプリングの候補になります。サブセットを指定すると,モデルを近似するためにサブセット内の点のみがサンプリングされます。

点のサブセットを指定すると,プロセスを大幅に高速化し,試行回数を減らすことができます。pointcloud.オブジェクトのfindPointsInROIメソッドを使用してインデックスベクトルを生成できます。

インライアを検出するためのランダム試行の最大回数。maxnumtrial'と正の整でで成される区切りのを大厦するます出の性は性ししが,计算量が増します,计算量が増し。

最大数のインライアの検出关键词信息度のパーセント。'置信度'と[0 100]の范囲の数码スカラーで成される区切りペアとして大厦します出の値はすると出がロバスト性はしますがが,计算

出力数

すべて折りたたむ

平衡のの几何的モデル。PlaneModel.オブジェクトとして返されます。

入力点ににな点点ないない,关键ででな点をできないは,出力モデルのががにないのはがにモデルモデルは。

入ベクトルとして返さインデックスインライア点としてれインデックス。

入入として返さインデックスインデックス。

インライアインライア点からモデルまでの距离の均スカラースカラー値として返されれ距离値としてとしてれ

参照

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

拡张机械

C / C ++コード生成
MATLAB®Coder™をを使てcおよびc ++コード生成します。

R2015Bで导入