![]() |
OpenCV 5.0.0
Open Source Computer Vision
|
クラス | |
| class | cv::RegionGrowing3D |
| 3D 点群における領域成長 (Region Growing) アルゴリズム。 続き... | |
| class | cv::SACSegmentation |
| 3D 点群モデルのサンプルコンセンサス (Sample Consensus) アルゴリズムによるセグメンテーション。 続き... | |
列挙型 | |
| enum | cv::SacMethod { cv::SAC_METHOD_RANSAC } |
| ロバスト推定アルゴリズムの種類 続き... | |
| enum | cv::SacModelType { cv::SAC_MODEL_PLANE , cv::SAC_MODEL_SPHERE } |
関数 | |
| int | cv::farthestPointSampling (OutputArray sampled_point_flags, InputArray input_pts, float sampled_scale, float dist_lower_limit=0, RNG *rng=nullptr) |
| int | cv::farthestPointSampling (OutputArray sampled_point_flags, InputArray input_pts, int sampled_pts_size, float dist_lower_limit=0, RNG *rng=nullptr) |
| 最遠点サンプリング (Farthest Point Sampling, FPS) による点群のサンプリング。 | |
| void | cv::normalEstimate (OutputArray normals, OutputArray curvatures, InputArray input_pts, InputArrayOfArrays nn_idx, int max_neighbor_num=0) |
| NN の結果から点群内の各点の法線と曲率を推定する。 | |
| void | cv::randomSampling (OutputArray sampled_pts, InputArray input_pts, float sampled_scale, RNG *rng=nullptr) |
| void | cv::randomSampling (OutputArray sampled_pts, InputArray input_pts, int sampled_pts_size, RNG *rng=nullptr) |
| 点をランダムに選択することによる点群のサンプリング。 | |
| int | cv::voxelGridSampling (OutputArray sampled_point_flags, InputArray input_pts, float length, float width, float height) |
| ボクセルグリッドフィルタによるダウンサンプリングを用いた点群のサンプリング。 | |
| enum cv::SacMethod |
#include <opencv2/geometry/segment.hpp>
ロバスト推定アルゴリズムの種類
| 列挙値 | |
|---|---|
| SAC_METHOD_RANSAC Python: cv.SAC_METHOD_RANSAC | [95] で説明されている RANSAC アルゴリズム。 |
| enum cv::SacModelType |
#include <opencv2/geometry/segment.hpp>
| int cv::farthestPointSampling | ( | OutputArray | sampled_point_flags, |
| InputArray | input_pts, | ||
| float | sampled_scale, | ||
| float | dist_lower_limit = 0, | ||
| RNG * | rng = nullptr ) |
#include <opencv2/geometry/segment.hpp>
これは利便性のために提供されているオーバーロードされたメンバ関数である。上記の関数とは、受け取る引数のみが異なる。
| [out] | sampled_point_flags | サンプリングされた点のフラグ(std::vector<int> や std::vector<char> などを渡す)。sampled_point_flags[i] が 1 の場合は i 番目の点が選択されていることを意味し、0 の場合は選択されていないことを意味する。 |
| input_pts | 元の点群。Point3 のベクトルまたはサイズ Nx3/3xN の Mat。 | |
| sampled_scale | Range (0, 1)。サンプリングされた点群の元のサイズに対する割合、すなわち sampled size = original size * sampled_scale。 | |
| dist_lower_limit | 最も遠い点から S までの距離が dist_lower_limit より小さくなった場合、サンプリングは早期に終了する。デフォルトは 0。 | |
| rng | FPS のシード点を選択するために使用される省略可能な乱数生成器。nullptr の場合は代わりに theRNG () が使用される。 |
| int cv::farthestPointSampling | ( | OutputArray | sampled_point_flags, |
| InputArray | input_pts, | ||
| int | sampled_pts_size, | ||
| float | dist_lower_limit = 0, | ||
| RNG * | rng = nullptr ) |
#include <opencv2/geometry/segment.hpp>
最遠点サンプリング (Farthest Point Sampling, FPS) による点群サンプリング。
FPS Algorithm:
| [out] | sampled_point_flags | サンプリングされた点のフラグ(std::vector<int> や std::vector<char> などを渡す)。sampled_point_flags[i] が 1 の場合は i 番目の点が選択されていることを意味し、0 の場合は選択されていないことを意味する。 |
| input_pts | 元の点群。Point3 のベクトルまたはサイズ Nx3/3xN の Mat。 | |
| sampled_pts_size | サンプリング後に望ましい点群のサイズ。 | |
| dist_lower_limit | 最も遠い点から S までの距離が dist_lower_limit より小さくなった場合、サンプリングは早期に終了する。デフォルトは 0。 | |
| rng | FPS のシード点を選択するために使用される省略可能な乱数生成器。nullptr の場合は代わりに theRNG () が使用される。 |
| void cv::normalEstimate | ( | OutputArray | normals, |
| OutputArray | curvatures, | ||
| InputArray | input_pts, | ||
| InputArrayOfArrays | nn_idx, | ||
| int | max_neighbor_num = 0 ) |
#include <opencv2/geometry/segment.hpp>
NNの結果から、点群内の各点の法線と曲率を推定する。
PCA による法線推定:
| [out] | normals | 各点の法線。vector<Point3f> およびサイズ Nx3 の Mat をサポートする。 |
| [out] | curvatures | 各点の曲率。vector<float> および Mat をサポートする。 |
| input_pts | 元の点群。vector<Point3f> およびサイズ Nx3/3xN の Mat をサポートする。 | |
| nn_idx | すべての点の最近傍のインデックス情報。各点の最初の最近傍はその点自身である。vector<vector<int>>、vector<Mat> およびサイズ NxK の Mat をサポートする。ある行の情報が [0, 2, 1, -5, -1, 4, 7 ... 負の数] である場合、負の数またはこの行の境界に達するまでの非負のインデックスのみを使用する。すなわち [0, 2, 1]。 | |
| max_neighbor_num | 自身を含めて使用したい近傍の最大数。非正の数またはデフォルトに設定すると、nn_idx の情報を使用する。 |
| void cv::randomSampling | ( | OutputArray | sampled_pts, |
| InputArray | input_pts, | ||
| float | sampled_scale, | ||
| RNG * | rng = nullptr ) |
#include <opencv2/geometry/segment.hpp>
これは利便性のために提供されているオーバーロードされたメンバ関数である。上記の関数とは、受け取る引数のみが異なる。
| sampled_pts | サンプリング後の点群。cv::Mat(size * sampled_scale, 3, CV_32F)、std::vector<cv::Point3f> をサポートする。 |
| input_pts | 元の点群。Point3 のベクトルまたはサイズ Nx3/3xN の Mat。 |
| sampled_scale | Range (0, 1)。サンプリングされた点群の元のサイズに対する割合、すなわち sampled size = original size * sampled_scale。 |
| rng | cv::randShuffle に使用される省略可能な乱数生成器。nullptr の場合は代わりに theRNG () が使用される。 |
| void cv::randomSampling | ( | OutputArray | sampled_pts, |
| InputArray | input_pts, | ||
| int | sampled_pts_size, | ||
| RNG * | rng = nullptr ) |
#include <opencv2/geometry/segment.hpp>
点をランダムに選択することによる点群サンプリング。
cv::randShuffle を使って点のインデックスリストをシャッフルし、リストの先頭部分に対応する点を取り出す。
| sampled_pts | サンプリング後の点群。cv::Mat(sampled_pts_size, 3, CV_32F)、std::vector<cv::Point3f> をサポートする。 |
| input_pts | 元の点群。Point3 のベクトルまたはサイズ Nx3/3xN の Mat。 |
| sampled_pts_size | サンプリング後に望ましい点群のサイズ。 |
| rng | cv::randShuffle に使用される省略可能な乱数生成器。nullptr の場合は代わりに theRNG () が使用される。 |
| int cv::voxelGridSampling | ( | OutputArray | sampled_point_flags, |
| InputArray | input_pts, | ||
| float | length, | ||
| float | width, | ||
| float | height ) |
#include <opencv2/geometry/segment.hpp>
ボクセルグリッドフィルタによるダウンサンプリングを用いた点群サンプリング。
入力点群データの上に3次元ボクセルグリッド(空間中の微小な3Dボックスの集合)を作成し、各ボクセル(すなわち3Dボックス)内に存在するすべての点を、その重心に最も近い点で近似(すなわちダウンサンプリング)する。
| [out] | sampled_point_flags | サンプリングされた点のフラグ(std::vector<int> や std::vector<char> などを渡す)。sampled_point_flags[i] が 1 の場合は i 番目の点が選択されていることを意味し、0 の場合は選択されていないことを意味する。 |
| input_pts | 元の点群。Point3 のベクトルまたはサイズ Nx3/3xN の Mat。 | |
| length | グリッドの長さ。 | |
| width | グリッドの幅。 | |
| height | グリッドの高さ。 |