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

constant space belief propagation アルゴリズムを用いてステレオ対応を計算するクラス。: 続き...

#include <opencv2/cudastereo.hpp>

Collaboration diagram for cv::cuda::StereoConstantSpaceBP:

公開メンバ関数

virtual int getNrPlane () const =0
 最初のレベルでのアクティブな視差の数
 
virtual bool getUseLocalInitDataCost () const =0
 
virtual void setNrPlane (int nr_plane)=0
 
virtual void setUseLocalInitDataCost (bool use_local_init_data_cost)=0
 
- Public Member Functions inherited from cv::cuda::StereoBeliefPropagation
virtual void compute (InputArray data, OutputArray disparity, Stream &stream=Stream::Null())=0
 指定されたデータコストに対する視差を求めるステレオ対応演算子を有効にする。
 
virtual void compute (InputArray left, InputArray right, OutputArray disparity, Stream &stream)=0
 
virtual double getDataWeight () const =0
 データの重み
 
virtual double getDiscSingleJump () const =0
 不連続性の単一ジャンプ
 
virtual double getMaxDataTerm () const =0
 データコストの打ち切り
 
virtual double getMaxDiscTerm () const =0
 不連続性コストの打ち切り
 
virtual int getMsgType () const =0
 メッセージの型 (CV_16SC1 または CV_32FC1)
 
virtual int getNumIters () const =0
 各レベルでのBP反復回数
 
virtual int getNumLevels () const =0
 レベル数
 
virtual void setDataWeight (double data_weight)=0
 
virtual void setDiscSingleJump (double disc_single_jump)=0
 
virtual void setMaxDataTerm (double max_data_term)=0
 
virtual void setMaxDiscTerm (double max_disc_term)=0
 
virtual void setMsgType (int msg_type)=0
 
virtual void setNumIters (int iters)=0
 
virtual void setNumLevels (int levels)=0
 
- Public Member Functions inherited from cv::StereoMatcher
virtual void compute (InputArray left, InputArray right, OutputArray disparity)=0
 指定したステレオペアの視差マップを計算する。
 
virtual int getBlockSize () const =0
 
virtual int getDisp12MaxDiff () const =0
 
virtual int getMinDisparity () const =0
 
virtual int getNumDisparities () const =0
 
virtual int getSpeckleRange () const =0
 
virtual int getSpeckleWindowSize () const =0
 
virtual void setBlockSize (int blockSize)=0
 
virtual void setDisp12MaxDiff (int disp12MaxDiff)=0
 
virtual void setMinDisparity (int minDisparity)=0
 
virtual void setNumDisparities (int numDisparities)=0
 
virtual void setSpeckleRange (int speckleRange)=0
 
virtual void setSpeckleWindowSize (int speckleWindowSize)=0
 
- Public Member Functions inherited from cv::Algorithm
 Algorithm ()
 
virtual ~Algorithm ()
 
virtual void clear ()
 アルゴリズムの状態をクリアする。
 
virtual bool empty () const
 Algorithm が空の場合(たとえば開始直後や読み込みに失敗した後)に true を返す。
 
virtual String getDefaultName () const
 
virtual void read (const FileNode &fn)
 ファイルストレージからアルゴリズムの引数を読み込む。
 
virtual void save (const String &filename) const
 
virtual void write (FileStorage &fs) const
 アルゴリズムの引数をファイルストレージに保存する。
 
void write (FileStorage &fs, const String &name) const
 

静的公開メンバ関数

static void estimateRecommendedParams (int width, int height, int &ndisp, int &iters, int &levels, int &nr_plane)
 指定された画像サイズ (widthおよびheight) に対するパラメータ (ndisp, iters, levelsおよびnrplane) を、ヒューリスティックな手法で計算する。
 
- Static Public Member Functions inherited from cv::cuda::StereoBeliefPropagation
static void estimateRecommendedParams (int width, int height, int &ndisp, int &iters, int &levels)
 指定された画像サイズ ( width および height ) に対する推奨パラメータ ( ndisp, iters および levels ) を、ヒューリスティックな手法で計算する。
 
- Static Public Member Functions inherited from cv::Algorithm
template<typename _Tp >
static Ptr< _Tpload (const String &filename, const String &objname=String())
 ファイルからアルゴリズムを読み込む。
 
template<typename _Tp >
static Ptr< _TploadFromString (const String &strModel, const String &objname=String())
 文字列からアルゴリズムを読み込む。
 
template<typename _Tp >
static Ptr< _Tpread (const FileNode &fn)
 ファイルノードからアルゴリズムを読み込む。
 

Additional Inherited Members

- Public Types inherited from cv::StereoMatcher
enum  {
  DISP_SHIFT = 4 ,
  DISP_SCALE = (1 << DISP_SHIFT)
}
 
- Protected Member Functions inherited from cv::Algorithm
void writeFormat (FileStorage &fs) const
 

詳細説明

constant space belief propagation アルゴリズムを用いてステレオ対応を計算するクラス。:

このクラスは [318] で説明されているアルゴリズムを実装する。StereoConstantSpaceBP は局所最小および大域最小のデータコスト初期化アルゴリズムの両方をサポートする。詳細は上記の論文を参照。デフォルトでは局所アルゴリズムが使用される。大域アルゴリズムを有効にするには use_local_init_data_cost を false に設定する。

StereoConstantSpaceBP は、データコスト項と不連続性項に打ち切り線形モデルを使用する:

\[DataCost = data \_ weight \cdot \min ( \lvert I_2-I_1 \rvert , max \_ data \_ term)\]

\[DiscTerm = \min (disc \_ single \_ jump \cdot \lvert f_1-f_2 \rvert , max \_ disc \_ term)\]

詳細は [318] を参照。

デフォルトでは、StereoConstantSpaceBP は浮動小数点演算とメッセージ用の CV_32FC1 型を使用する。しかし、性能向上のために固定小数点演算とメッセージ型 CV_16SC1 を使用することもできる。この場合のオーバーフローを避けるため、パラメータは次の要件を満たさなければならない:

\[10 \cdot 2^{levels-1} \cdot max \_ data \_ term < SHRT \_ MAX\]

メンバ関数詳解

◆ estimateRecommendedParams()

static void cv::cuda::StereoConstantSpaceBP::estimateRecommendedParams ( int width,
int height,
int & ndisp,
int & iters,
int & levels,
int & nr_plane )
static

指定された画像サイズ (widthおよびheight) に対するパラメータ (ndisp, iters, levelsおよびnrplane) を、ヒューリスティックな手法で計算する。

◆ getNrPlane()

virtual int cv::cuda::StereoConstantSpaceBP::getNrPlane ( ) const
pure virtual

最初のレベルでのアクティブな視差の数

◆ getUseLocalInitDataCost()

virtual bool cv::cuda::StereoConstantSpaceBP::getUseLocalInitDataCost ( ) const
pure virtual

◆ setNrPlane()

virtual void cv::cuda::StereoConstantSpaceBP::setNrPlane ( int nr_plane)
pure virtual

◆ setUseLocalInitDataCost()

virtual void cv::cuda::StereoConstantSpaceBP::setUseLocalInitDataCost ( bool use_local_init_data_cost)
pure virtual

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