主要内容

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

findPointsInROI

点群の関心領域内の点を検出

説明

指数= findPointsInROI (ptCloudroiは,入力点群の関心領域(ROI)内の点を返します。指定されたROI内の点は,Kd木ベースの探索アルゴリズムを使用して取得されます。

指数= findpointsInROI (ptCloudroicamMatrixは,入力点群のROIエリア内の点を返します。入力点群は,深度カメラによって生成された,整理された点群です。指定されたROI内の点は,高速な近似近傍探索アルゴリズムを使用して取得されます。

関数はカメラ射影行列camMatrixを使用して隣接する点の間の関係を把握するため,探索が高速化されます。ただし,結果の精度はKd木ベースのアプローチと比べて劣ります。

メモ

  • この構文では,RGB-Dセンサーによって生成された,整理された点群データのみがサポートされます。

  • estimateCameraMatrixを使用して,指定された点群データのカメラ射影行列を推定できます。

すべて折りたたむ

点群データをワークスペースに読み取ります。

ptCloud = pcread (“teapot.ply”);

入力点群のxyおよびz座標の範囲内で直方体ROIを定義します。

ROI = [-2 2 -2 2.4 3.5];

直方体ROI内にある点のインデックスを検出します。

指数= findPointsInROI (ptCloud roi);

直方体ROI内にある点を選択して,点群オブジェクトとして格納します。

ptCloudB =选择(ptCloud、指标);

入力点群と指定されたROI内の点群を表示します。

图pcshow(ptCloud.Location,[0.5 0.5 0.5])保持pcshow (ptCloudB。的位置,“r”);传奇(“点云”ROI内点的“位置”“southoutside”“颜色”,[1 1 1])保持

图中包含一个坐标轴。坐标轴包含两个散点类型的对象。这些对象代表点云,ROI内的点。

カメラ射影行列を使用して,整理された点群データの直方体ROI内の点を検出します。サンプリングされた点群データの点と対応するイメージ点座標からカメラ射影行列を計算します。

整理された点群データをワークスペース内に読み込みます。Kinect深度センサーを使用して点群が生成されます。

ld =负载(“object3d.mat”);ptCloud = ld.ptCloud;

点群データをサンプリングするためのステップサイズを指定します。

stepSize = 100;

入力点群をサンプリングして,サンプリングされた3次元ポイント座標を点群オブジェクトとして格納します。

指数= 1:stepSize: ptCloud.Count;tempPtCloud =选择(ptCloud、指标);

サンプリングされた点群から無効な点を削除します。

[tempPtCloud, validIndices] = removeInvalidPoints (tempPtCloud);

入力点群から3次元ワールド座標点を取得します。

worldPoints = tempPtCloud.Location;

入力点群の3次元ポイント座標に対応する2次元イメージ座標を検出します。

[Y、X] = ind2sub([大小(ptCloud.Location, 1),大小(ptCloud.Location, 2)),指数);imagePoints = [X(validIndices)' Y(validIndices)'];

このイメージとワールド座標点からカメラ射影行列を推定します。

camMatrix = estimateCameraMatrix (imagePoints worldPoints);

入力点群のxyおよびz座標の範囲内で直方体ROIを指定します。

ROI = [0.3 0.7 0 0.4 0.1 0.3];

直方体ROI内にある点群データのインデックスを検出します。

指数= findPointsInROI (ptCloud roi, camMatrix);

点群の选择メソッドを使用して,ROI内の点の点群データを取得します。

ptCloudB =选择(ptCloud、指标);

入力点群と直方体ROI内の点を表示します。

图pcshow (ptCloud)pcshow (ptCloudB。的位置,“r”);传奇(“点云”“ROI内的点”“位置”“southoutside”“颜色”,[1 1 1])保持

图中包含一个坐标轴。坐标轴包含两个散点类型的对象。这些对象表示点云,ROI内的点。

入力引数

すべて折りたたむ

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

関心領域。[xmin, xmax ymin、ymax zmin, zmax]形式の6要素ベクトルとして指定します。ここでは,次のとおりです。

  • xminとxmaxはそれぞれx軸に沿った下限と上限です。

  • yminとymaxはそれぞれy軸に沿った下限と上限です。

  • zminとzmaxはそれぞれz軸に沿った下限と上限です。

カメラ射影行列。3次元ワールド座標点を2次元イメージの点にマッピングする4行3列の行列として指定します。関数estimateCameraMatrixを使用することで,camMatrixを検出できます。

出力引数

すべて折りたたむ

並べ替えられた点のインデックス。列ベクトルとして返されます。ベクトルには点群に格納されたROI点の線形インデックスが含まれています。

参照

Muja M.和David G. Lowe。“具有自动算法配置的快速近似最近邻”。计算机视觉理论与应用。2009。331 - 340页。

拡張機能

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

R2015aで導入