メインコンテンツ

findNeighborsInRadius

点群の点の半径内にある近傍を検索

R2022a 以降

説明

[indices,dists] = findNeighborsInRadius(ptCloud,point,radius) は、入力点群内のクエリ点の半径内にある近傍の indices を返します。ptCloud はアンオーガナイズド点群でもオーガナイズド点群でもかまいません。クエリ点の半径内の近傍は、Kd 木ベースの探索アルゴリズムを使用して計算されます。この関数には Computer Vision Toolbox™ のライセンスが必要です。

[indices,dists] = findNeighborsInRadius(___,Name,Value) は、前述の構文の入力引数に加え、1 つ以上の名前と値のペアの引数を使用してオプションを指定します。

入力引数

すべて折りたたむ

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

クエリ点。[x y z] 形式の 3 要素ベクトルとして指定します。

探索半径。スカラーとして指定します。関数は、入力点群内のクエリ点の周囲で、指定された radius 内にある近傍を検索します。

名前と値の引数

すべて折りたたむ

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

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

例: findNeighborsInRadius(ptCloud,point,radius,'Sort',true)

インデックスの並べ替え。'Sort' と logical スカラーのコンマ区切りのペアとして指定します。Sorttrue に設定すると、返されるインデックスはクエリ点からの距離に基づいて昇順に並べ替えられます。並べ替えをオフにするには、Sortfalse に設定します。

リーフ ノードの数。'MaxLeafChecks' と整数で構成されるコンマ区切りのペアとして指定します。この値を Inf に設定すると、ツリー全体が探索されます。ツリー全体が探索される場合、厳密な探索結果が得られます。チェックするリーフ ノードの数を増やすと精度が向上しますが、効率は低下します。

出力引数

すべて折りたたむ

格納された点のインデックス。列ベクトルとして返されます。ベクトルには、点群に格納された半径近傍の線形インデックスが含まれています。

クエリ点までの距離。列ベクトルとして返されます。ベクトルには、クエリ点とその半径近傍の間のユークリッド距離が含まれています。

参照

[1] Muja, M. and David G. Lowe. "Fast Approximate Nearest Neighbors with Automatic Algorithm Configuration". In VISAPP International Conference on Computer Vision Theory and Applications. 2009. pp. 331–340.

拡張機能

すべて展開する

バージョン履歴

R2022a で導入