OpenCV 5.0.0
Open Source Computer Vision
読み込み中...
検索中...
見つかりません
🤖 AIによる機械翻訳(非公式) — これは OpenCV 5.0.0 公式リファレンス(英語)を AI (Claude) で自動翻訳したものです。訳に誤りを含む場合があります。正確な情報は 公式英語版(原文) を参照してください。
cv::RegionGrowing3D クラスabstract

3次元点群における領域成長 (Region Growing) アルゴリズム。 続き...

#include <opencv2/geometry/segment.hpp>

Collaboration diagram for cv::RegionGrowing3D:

公開メンバ関数

 RegionGrowing3D ()=default
 
virtual ~RegionGrowing3D ()=default
 
virtual void getCurvatures (OutputArray curvatures) const =0
 設定済みであれば各点の曲率を取得する。
 
virtual double getCurvatureThreshold () const =0
 曲率のしきい値を取得する。
 
virtual int getMaxNumberOfNeighbors () const =0
 自身を含む近傍の最大数を取得する。
 
virtual int getMaxSize () const =0
 領域の最大サイズを取得する。
 
virtual int getMinSize () const =0
 領域の最小サイズを取得する。
 
virtual bool getNeedSort () const =0
 設定した結果のソートが必要かどうかを取得する。
 
virtual int getNumberOfRegions () const =0
 取得したい領域の最大数を取得する。
 
virtual void getSeeds (OutputArray seeds) const =0
 シード点を取得する。
 
virtual bool getSmoothModeFlag () const =0
 平滑度モードを使用するかどうかを取得する。
 
virtual double getSmoothnessThreshold () const =0
 法線間の角度のしきい値を取得する。
 
virtual int segment (OutputArrayOfArrays regions_idx, OutputArray labels, InputArray input_pts, InputArray normals, InputArrayOfArrays nn_idx)=0
 領域成長 (Region Growing) アルゴリズムを使ってセグメンテーションを実行する。
 
virtual void setCurvatures (InputArray curvatures)=0
 各点の曲率を設定する。vector<float> と Mat をサポートする。設定しない場合は noArray() を設定すればよい。
 
virtual void setCurvatureThreshold (double curvature_thr)=0
 
virtual void setMaxNumberOfNeighbors (int max_neighbor_num)=0
 
virtual void setMaxSize (int max_size)=0
 領域の最大サイズを設定する。
 
virtual void setMinSize (int min_size)=0
 領域の最小サイズを設定する。
 
virtual void setNeedSort (bool need_sort)=0
 結果を点の数による降順でソートする必要があるかどうかを設定する。
 
virtual void setNumberOfRegions (int region_num)=0
 取得したい領域の最大数を設定する。
 
virtual void setSeeds (InputArray seeds)=0
 
virtual void setSmoothModeFlag (bool smooth_mode)=0
 
virtual void setSmoothnessThreshold (double smoothness_thr)=0
 法線間の角度のしきい値を設定する。入力値はラジアン単位である。
 

静的公開メンバ関数

static Ptr< RegionGrowing3Dcreate ()
 

詳細説明

3次元点群における領域成長 (Region Growing) アルゴリズム。

領域成長の核心となる考え方は、2点間の法線に従って、ある角度のしきい値を満たす最近傍点を同じ領域に統合し、セグメンテーションを実現することである。詳細については [229] を参照すること。

構築子と解体子の詳解

◆ RegionGrowing3D()

cv::RegionGrowing3D::RegionGrowing3D ( )
default

◆ ~RegionGrowing3D()

virtual cv::RegionGrowing3D::~RegionGrowing3D ( )
virtualdefault

メンバ関数詳解

◆ create()

static Ptr< RegionGrowing3D > cv::RegionGrowing3D::create ( )
static

◆ getCurvatures()

virtual void cv::RegionGrowing3D::getCurvatures ( OutputArray curvatures) const
pure virtual

設定済みであれば各点の曲率を取得する。

◆ getCurvatureThreshold()

virtual double cv::RegionGrowing3D::getCurvatureThreshold ( ) const
pure virtual

曲率のしきい値を取得する。

◆ getMaxNumberOfNeighbors()

virtual int cv::RegionGrowing3D::getMaxNumberOfNeighbors ( ) const
pure virtual

自身を含む近傍の最大数を取得する。

◆ getMaxSize()

virtual int cv::RegionGrowing3D::getMaxSize ( ) const
pure virtual

領域の最大サイズを取得する。

◆ getMinSize()

virtual int cv::RegionGrowing3D::getMinSize ( ) const
pure virtual

領域の最小サイズを取得する。

◆ getNeedSort()

virtual bool cv::RegionGrowing3D::getNeedSort ( ) const
pure virtual

設定した結果のソートが必要かどうかを取得する。

◆ getNumberOfRegions()

virtual int cv::RegionGrowing3D::getNumberOfRegions ( ) const
pure virtual

取得したい領域の最大数を取得する。

◆ getSeeds()

virtual void cv::RegionGrowing3D::getSeeds ( OutputArray seeds) const
pure virtual

シード点を取得する。

◆ getSmoothModeFlag()

virtual bool cv::RegionGrowing3D::getSmoothModeFlag ( ) const
pure virtual

平滑度モードを使用するかどうかを取得する。

◆ getSmoothnessThreshold()

virtual double cv::RegionGrowing3D::getSmoothnessThreshold ( ) const
pure virtual

法線間の角度のしきい値を取得する。

◆ segment()

virtual int cv::RegionGrowing3D::segment ( OutputArrayOfArrays regions_idx,
OutputArray labels,
InputArray input_pts,
InputArray normals,
InputArrayOfArrays nn_idx )
pure virtual

領域成長 (Region Growing) アルゴリズムを使ってセグメンテーションを実行する。

引数
[out]regions_idx各領域内のすべての点のインデックス情報。vector<vector<int>>, vector<Mat> をサポートする。
[out]labelsラベルはモデル番号に対応する。0 はどのモデルにも属さないことを意味し、範囲は [0, 最終的に得られたモデル数]。vector<int> と Mat をサポートする。
input_pts元の点群。vector<Point3f> およびサイズ Nx3/3xN の Mat をサポートする。
normals各点の法線。vector<Point3f> およびサイズ Nx3 の Mat をサポートする。
nn_idxすべての点の最近傍のインデックス情報。各点の第1最近傍はその点自身である。vector<vector<int>>, vector<Mat>、およびサイズ NxK の Mat をサポートする。ある行の情報が [0, 2, 1, -5, -1, 4, 7 ... 負の数] のような場合、負の数または行の末尾に達するまで、非負のインデックスのみを使用する。すなわち [0, 2, 1] となる。
戻り値
セグメンテーションによって最終的に得られた領域の数。

◆ setCurvatures()

virtual void cv::RegionGrowing3D::setCurvatures ( InputArray curvatures)
pure virtual

各点の曲率を設定する。vector<float> と Mat をサポートする。設定しない場合は noArray() を設定すればよい。

◆ setCurvatureThreshold()

virtual void cv::RegionGrowing3D::setCurvatureThreshold ( double curvature_thr)
pure virtual

曲率のしきい値を設定する。デフォルトは 0.05 である。曲率がしきい値より小さい点のみが同じ領域に属するとみなされる。各点の曲率が設定されていない場合、このオプションは機能しない。

◆ setMaxNumberOfNeighbors()

virtual void cv::RegionGrowing3D::setMaxNumberOfNeighbors ( int max_neighbor_num)
pure virtual

自身を含めて使用したい近傍の最大数を設定する。非正の数またはデフォルトを設定すると、nn_idx の情報を使用する。

◆ setMaxSize()

virtual void cv::RegionGrowing3D::setMaxSize ( int max_size)
pure virtual

領域の最大サイズを設定する。

◆ setMinSize()

virtual void cv::RegionGrowing3D::setMinSize ( int min_size)
pure virtual

領域の最小サイズを設定する。

◆ setNeedSort()

virtual void cv::RegionGrowing3D::setNeedSort ( bool need_sort)
pure virtual

結果を点の数による降順でソートする必要があるかどうかを設定する。

◆ setNumberOfRegions()

virtual void cv::RegionGrowing3D::setNumberOfRegions ( int region_num)
pure virtual

取得したい領域の最大数を設定する。

◆ setSeeds()

virtual void cv::RegionGrowing3D::setSeeds ( InputArray seeds)
pure virtual

シード点を設定する。シードに従って成長する。noArray() を設定した場合、デフォルトの方法が使用される:

  1. 各点の曲率が設定されている場合、シードは曲率の昇順でソートされる。
  2. そうでない場合は、点群の自然な順序が使用される。

◆ setSmoothModeFlag()

virtual void cv::RegionGrowing3D::setSmoothModeFlag ( bool smooth_mode)
pure virtual

平滑度モードを使用するかどうかを設定する。デフォルトは true である。true の場合、現在の点の法線とその近傍の法線の間の角度をチェックする。そうでない場合は、シード点の法線と現在の近傍の法線の間の角度をチェックする。

◆ setSmoothnessThreshold()

virtual void cv::RegionGrowing3D::setSmoothnessThreshold ( double smoothness_thr)
pure virtual

法線間の角度のしきい値を設定する。入力値はラジアン単位である。


このクラス詳解は次のファイルから抽出されました: