主要内容

このページの翻訳は最新ではありません。ここをクリックして,英語の最新版を参照してください。

pointCloud

3次元点群を格納するオブジェクト

説明

pointCloudオブジェクトは3次元座標系の一連の点から点群データを作成します。点群データはプロパティにリストされているプロパティをもつオブジェクトとして格納されます。オブジェクト関数を使用して,目的の点を点群データから取得,選択,および削除します。

作成

説明

ptCloud= pointCloud (xyzPointsは,xyzPointsによって指定された座標をもつ点群オブジェクトを返します。

ptCloud= pointCloud (xyzPoints名称,值は1つ以上の名称,值のペアの引数として指定されたプロパティをもつpointCloudオブジェクトを作成します。たとえば,pointCloud (xyzPoints,“颜色”,[0 0 0])は点xyzPoints颜色プロパティを[0 0 0]と設定します。各プロパティ名を引用符で囲みます。指定していないプロパティはすべて既定値になります。

入力引数

すべて展開する

3 次元座標点。M行3列の点のリストまたはM x N x 3の整理された点群の配列として指定します。3次元座標点は3次元座標空間の点の位置x, y,およびzを指定します。整理された点群の最初の2つの次元は,RGBDや激光雷达などのセンサーからのスキャン順序に対応します。この引数によって位置プロパティが設定されます。

データ型:|

出力引数

すべて展開する

点群。プロパティにリストされているプロパティをもつpointCloudオブジェクトとして返されます。

プロパティ

すべて展開する

このプロパティは読み取り専用です。

3次元座標空間内の点の位置。M行3列またはM x N x 3の配列として指定します。各エントリによって3次元座標空間内の点のx座標,y座標,およびz座標が指定されます。名前と値のペアとしてこのプロパティを設定することはできません。入力引数xyzPointsを使用します。

データ型:|

点群の色。M行3列またはM x N x 3の配列として指定します。このプロパティを使用して,点群の点の色を設定します。各エントリによって点群データの点のRGBカラーが指定されます。そのため,すべての点に同じ色を指定したり,点ごとに異なる色を指定したりできます。

  • 颜色のデータ型をまたはと指定する場合,指定されるRGB値は[0,1]の範囲内になければなりません。

  • 颜色のデータ型をuint8と指定する場合,指定されるRGB値は[0,255]の範囲内になければなりません。

座標 颜色有効な割り当て
M行3列の配列 各点のRGB値が含まれるM行3列の配列

M x N x 3の配列 各点のRGB値が含まれるM x N x 3の配列

データ型:uint8

表面法線。M行3列またはM x N x 3の配列として指定します。このプロパティを使用して,点群の各点についての法線ベクトルを指定します。表面法線の各エントリによって法線ベクトルの x、y、および z 成分が指定されます。

座標 表面法線
M行3列の配列 各行に,対応する法線ベクトルが含まれる,M行3列の配列。
M x N x 3の配列 各点の1 x 1 x 3の法線ベクトルが含まれるM x N x 3の配列。

データ型:|

各点でのグレースケール強度。M行1列のベクトルまたはM行N列の行列として指定します。関数によって、各強度値が現在のカラーマップの色値にマッピングされます。

座標 強度
M行3列の配列 各行に,対応する強度値が含まれる,M行1列のベクトル。
M x N x 3の配列 各点の強度値が含まれるM行N列の行列。

データ型:||uint8

このプロパティは読み取り専用です。

点群内の点の数。正の整数として格納されます。

このプロパティは読み取り専用です。

x軸上の座標の範囲。1行2列のベクトルとして保存されます。

このプロパティは読み取り専用です。

y軸上の座標の範囲。1行2列のベクトルとして保存されます。

このプロパティは読み取り専用です。

z軸上の座標の範囲。1行2列のベクトルとして保存されます。

オブジェクト関数

findNearestNeighbors 点群内の点の最近傍を検出
findNeighborsInRadius 找出点云中某一点半径内的邻居
findPointsInROI 点群の関心領域内の点を検出
removeInvalidPoints 从点云中移除无效点
选择 在点云中选择点
复制 ハンドルオブジェクトの配列のコピー

すべて折りたたむ

3次元座標点をワークスペースに読み取ります。

负载(“xyzPoints”);

入力点座標から点群オブジェクトを作成します。

ptCloud = pointCloud (xyzPoints);

点群オブジェクトのプロパティを調べます。

ptCloud
ptCloud = pointCloud with properties: Location: [5184x3 single] Count: 5184 XLimits: [-3 3.4338] YLimits: [-2 2] ZLimits: [0.0016 3.1437] Color: [] Normal: []

pcshowを使用して点群を表示します。

pcshow (ptCloud)

点群データの色の変更

点群データと同じサイズのRGBカラー配列を作成します。点の色を赤に設定します。

cmatrix = 1(大小(ptCloud.Location))。* (1 0 0);

色プロパティをRGBカラー配列に設定した点群オブジェクトを作成します。

ptCloud = pointCloud (xyzPoints,“颜色”, cmatrix);pcshow (ptCloud)

点群データへの表面法線の追加

pcnormalsを使用して,点群データに対応する表面法線を計算します。

法线= pcnormals (ptCloud);

入力点座標から点群オブジェクトを作成します。計算された表面法線を点群オブジェクトに追加します。

ptCloud = pointCloud (xyzPoints,“正常”、法线);

点群を表示して,表面法線をプロットします。

pcshow(ptCloud) x = ptCloud. location (:,1);y = ptCloud.Location (:, 2);z = ptCloud.Location (:, 3);u =法线(:1);v =法线(:,2);w =法线(:3);持有quiver3 (x, y, z, u, v, w);持有

ヒント

pointCloudオブジェクトは处理オブジェクトです。点群の個別のコピーを作成する場合には,MATLAB®复制メソッドを使用できます。

ptCloudB复制ptCloudA

点群関数によって変更可能な点群のコピーを1つ保持する場合は,入力と出力に同じ点群変数名を使用します。

ptCloud= pcFunction (ptCloud

拡張機能

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

R2015aで導入