メインコンテンツ

detectRectangularPlanePoints

(削除予定) 点群から指定した寸法の四角形平面を検出

detectRectangularPlanePoints 関数は将来のリリースで削除される予定です。代わりに estimateBoardCornersLidar 関数を使用してください。 (R2026a 以降)

説明

ptCloudPlanes = detectRectangularPlanePoints(ptCloudIn,planeDimensions) は、指定された寸法 planeDimensions の四角形平面 ptCloudPlanes を入力点群 ptCloudIn から検出して抽出します。

[ptCloudPlanes,ptCloudUsed] = detectRectangularPlanePoints(ptCloudArray,planeDimensions) は、一連の点群 ptCloudArray から四角形平面を検出します。さらに、関数は四角形平面が検出された点群を示す logical ベクトル ptCloudUsed を返します。

[___] = detectRectangularPlanePoints(ptCloudFileNames,planeDimensions) は、一連の点群ファイル ptCloudFileNames から四角形平面を検出し、前述の構文の任意の出力引数の組み合わせを返します。

[ptCloudPlanes,ptCloudUsed,indicesCell] = detectRectangularPlanePoints(___) は、前述の任意の引数の組み合わせに加え、検出された四角形平面内の点の各点群におけるインデックスを返します。

[___] = detectRectangularPlanePoints(___,Name,Value) は、1 つ以上の名前と値のペアの引数を使用してオプションを指定します。たとえば、'RemoveGround',true'RemoveGround' フラグを true に設定し、処理前に入力点群から地面を除去します。

入力引数

すべて折りたたむ

点群。pointCloud オブジェクトとして指定します。関数は、この点群の中から四角形平面を探します。

点群の配列。P 行 1 列の pointCloud オブジェクトの配列として指定します。P は配列に含まれる pointCloud オブジェクトの数です。関数は、それぞれの点群の中から四角形平面を探します。

点群ファイルの名前。文字ベクトルまたは文字ベクトルの cell 配列として指定します。複数のファイル名を指定する場合は、文字ベクトルの cell 配列を使用する必要があります。

データ型: char | cell

四角形平面の寸法。正の実数の 2 要素ベクトルとして指定します。それぞれの要素で四角形平面の幅と長さをミリメートル単位で指定します。関数は、planeDimensions と同じ寸法の平面を入力点群から探します。

データ型: single | double

名前と値の引数

すべて折りたたむ

オプションの引数のペアを Name1=Value1,...,NameN=ValueN として指定します。ここで、Name は引数名で、Value は対応する値です。名前と値の引数は他の引数の後に指定しなければなりませんが、ペアの順序は重要ではありません。

R2021a より前では、コンマを使用して名前と値をそれぞれ区切り、Name を引用符で囲みます。

例: 'RemoveGround',true'RemoveGround' フラグを true に設定し、処理前に入力点群から地面を除去します。

隣接する 2 点のクラスタリングのしきい値。'MinDistance' とメートル単位の正のスカラーからなるコンマ区切りのペアとして指定します。クラスタリングの処理は、隣接する点の間のユークリッド距離に基づきます。隣接する 2 点間の距離がクラスタリングしきい値未満であれば、両方の点が同じクラスターに属します。低分解能の LiDAR では 'MinDistance' のしきい値を高くする必要があり、その逆も同様です。

メモ

この値は、チェッカーボードの 2 つの走査線間の最小距離より大きくなければなりません。'MinDistance' の値が小さすぎると、正しい検出結果が得られないことがあります。

データ型: single | double

検出の関心領域 (ROI)。'ROI' と [xmin, xmax, ymin, ymax, zmin, zmax] の形式のベクトルからなるコンマ区切りのペアとして指定します。このベクトルでは、ROI の xy、および z のそれぞれの範囲を xminxmaxyminymax、および zminzmax のペアとして指定します。

データ型: single | double

四角形平面の寸法における不確かさの許容誤差。'DimensionTolerance' と範囲 [0 1] の非負のスカラーからなるコンマ区切りのペアとして指定します。この値は、planeDimensions 引数を使用して指定された四角形平面の寸法からの許容される偏差の範囲を示します。たとえば、四角形平面の幅の下限と上限は [widthwidth*DimensionTolerancewidthwidth*DimensionTolerance] です。したがって、'DimensionTolerance' が高いほど、四角形平面の寸法の幅の範囲が大きいことを示します。

データ型: single | double

点群から地面を除去。'RemoveGround' と logical 0 (false) または 1 (true) からなるコンマ区切りのペアとして指定します。

平面の法線は、基準ベクトル [0 0 1]z 軸の正方向に揃っているものと仮定されます。

データ型: logical

関数の進行状況を表示。'Verbose' と logical 0 (false) または 1 (true) からなるコンマ区切りのペアとして指定します。

データ型: logical

出力引数

すべて折りたたむ

検出された四角形平面。pointCloud オブジェクトまたは 1 行 P 列の pointCloud オブジェクトの配列として返されます。P は四角形平面が検出された入力点群の数になります。

パターン検出フラグ。1 行 N 列の logical ベクトルとして返されます。N は入力点群の数です。値 true は、対応する点群から関数で四角形平面が検出されたことを示します。値 false は、関数で四角形平面が検出されなかったことを示します。

検出された四角形平面のインデックス。1 行 P 列の cell 配列として返されます。ここで、P は四角形平面が検出された入力点群の数です。関数で四角形平面が検出された対応する点群のインデックスを指定する logical ベクトルが各 cell に格納されます。このインデックスを使用して、検出された平面を点群データから抽出できます。

バージョン履歴

R2020b で導入

すべて折りたたむ