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

このクラスは、修正版のH. Hirschmullerアルゴリズム [128] を実装しており、オリジナルとは以下の点で異なる: 続きを読む...

#include <opencv2/stereo.hpp>

Collaboration diagram for cv::StereoSGBM:

公開型

enum  {
  MODE_SGBM = 0 ,
  MODE_HH = 1 ,
  MODE_SGBM_3WAY = 2 ,
  MODE_HH4 = 3
}
 
- Public Types inherited from cv::StereoMatcher
enum  {
  DISP_SHIFT = 4 ,
  DISP_SCALE = (1 << DISP_SHIFT)
}
 

公開メンバ関数

virtual int getMode () const =0
 
virtual int getP1 () const =0
 
virtual int getP2 () const =0
 
virtual int getPreFilterCap () const =0
 
virtual int getUniquenessRatio () const =0
 
virtual void setMode (int mode)=0
 
virtual void setP1 (int P1)=0
 
virtual void setP2 (int P2)=0
 
virtual void setPreFilterCap (int preFilterCap)=0
 
virtual void setUniquenessRatio (int uniquenessRatio)=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 Ptr< StereoSGBMcreate (int minDisparity=0, int numDisparities=16, int blockSize=3, int P1=0, int P2=0, int disp12MaxDiff=0, int preFilterCap=0, int uniquenessRatio=0, int speckleWindowSize=0, int speckleRange=0, int mode=StereoSGBM::MODE_SGBM)
 StereoSGBMオブジェクトを生成する。
 
- 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

- Protected Member Functions inherited from cv::Algorithm
void writeFormat (FileStorage &fs) const
 

詳細説明

このクラスは、修正版のH. Hirschmullerアルゴリズム [128] を実装しており、オリジナルとは以下の点で異なる:

  • デフォルトでは、このアルゴリズムはシングルパスであり、8方向ではなく5方向のみを考慮することを意味する。アルゴリズムの完全版を実行するには createStereoSGBM で mode=StereoSGBM::MODE_HH を設定する。ただし、大量のメモリを消費する可能性があることに注意。
  • このアルゴリズムは個々のピクセルではなくブロック単位でマッチングを行う。ただし、blockSize=1を設定するとブロックは単一ピクセルに縮小される。
  • 相互情報量コスト関数は実装されていない。代わりに、[30]のより単純なBirchfield-Tomasiサブピクセルメトリックを使用する。ただし、カラー画像もサポートされている。
  • K. Konoligeアルゴリズム StereoBM の前処理および後処理ステップの一部が含まれている。例えば、前処理フィルタリング(StereoBM::PREFILTER_XSOBEL 型)や後処理フィルタリング(一意性チェック、二次補間、スペックルフィルタリング)などである。
覚え書き
  • (Python) StereoSGBM マッチングアルゴリズムの使用例は opencv_source_code/samples/python/stereo_match.py にある

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