OpenCV 4.5.3(日本語機械翻訳)
公開型 | 公開メンバ関数 | 静的公開メンバ関数 | 全メンバ一覧
cv::stereo::StereoBinaryBM クラス abstract

Class for computing stereo correspondence using the block matching algorithm, introduced and contributed to OpenCV by K. Konolige. [詳解]

#include <stereo.hpp>

cv::stereo::StereoMatcherを継承しています。

公開型

enum { PREFILTER_NORMALIZED_RESPONSE = 0 , PREFILTER_XSOBEL = 1 }
- 基底クラス cv::stereo::StereoMatcher に属する継承公開型
enum { DISP_SHIFT = 4 , DISP_SCALE = (1 << DISP_SHIFT) }

公開メンバ関数

virtual int getPreFilterType () const =0
virtual void setPreFilterType (int preFilterType)=0
virtual int getPreFilterSize () const =0
virtual void setPreFilterSize (int preFilterSize)=0
virtual int getPreFilterCap () const =0
virtual void setPreFilterCap (int preFilterCap)=0
virtual int getTextureThreshold () const =0
virtual void setTextureThreshold (int textureThreshold)=0
virtual int getUniquenessRatio () const =0
virtual void setUniquenessRatio (int uniquenessRatio)=0
virtual int getSmallerBlockSize () const =0
virtual void setSmallerBlockSize (int blockSize)=0
virtual int getScalleFactor () const =0
virtual void setScalleFactor (int factor)=0
virtual int getSpekleRemovalTechnique () const =0
virtual void setSpekleRemovalTechnique (int factor)=0
virtual bool getUsePrefilter () const =0
virtual void setUsePrefilter (bool factor)=0
virtual int getBinaryKernelType () const =0
virtual void setBinaryKernelType (int value)=0
virtual int getAgregationWindowSize () const =0
virtual void setAgregationWindowSize (int value)=0
- 基底クラス cv::stereo::StereoMatcher に属する継承公開メンバ関数
virtual void compute (InputArray left, InputArray right, OutputArray disparity)=0
指定されたステレオペアに対する視差マップを計算します.[【詳解】(英語]
virtual int getMinDisparity () const =0
virtual void setMinDisparity (int minDisparity)=0
virtual int getNumDisparities () const =0
virtual void setNumDisparities (int numDisparities)=0
virtual int getBlockSize () const =0
virtual void setBlockSize (int blockSize)=0
virtual int getSpeckleWindowSize () const =0
virtual void setSpeckleWindowSize (int speckleWindowSize)=0
virtual int getSpeckleRange () const =0
virtual void setSpeckleRange (int speckleRange)=0
virtual int getDisp12MaxDiff () const =0
virtual void setDisp12MaxDiff (int disp12MaxDiff)=0
- 基底クラス cv::Algorithm に属する継承公開メンバ関数
virtual CV_WRAP void clear ()
アルゴリズムの状態をクリアする[【詳解】(英語]
virtual void write (FileStorage &fs) const
アルゴリズムのパラメーターをファイルストレージに格納[【詳解】(英語]
CV_WRAP void write (const Ptr< FileStorage > &fs, const String &name=String()) const
これはオーバーロードされたメンバ関数です。利便性のために用意されています。元の関数との違いは引き数のみです。
virtual CV_WRAP void read (const FileNode &fn)
アルゴリズム・パラメータをファイル・ストレージから読み込みます。[【詳解】(英語]
virtual CV_WRAP bool empty () const
が空の場合はtrueを返します。Algorithmが空の場合は真を返します。[【詳解】(英語]
virtual CV_WRAP void save (const String &filename) const
virtual CV_WRAP String getDefaultName () const

静的公開メンバ関数

static CV_EXPORTS Ptr< cv::stereo::StereoBinaryBM > create (int numDisparities=0, int blockSize=9)
視差検索範囲を作成します。StereoBMオブジェクト[【詳解】(英語]
- 基底クラス cv::Algorithm に属する継承静的公開メンバ関数
template<typename _Tp >
static Ptr< _Tp > read (const FileNode &fn)
ファイル・ノードからアルゴリズムを読み込む[【詳解】(英語]
template<typename _Tp >
static Ptr< _Tp > load (const String &filename, const String &objname=String())
ファイルからアルゴリズムを読み込む[【詳解】(英語]
template<typename _Tp >
static Ptr< _Tp > loadFromString (const String &strModel, const String &objname=String())
文字列からアルゴリズムを読み込む[【詳解】(英語]

その他の継承メンバ

- 基底クラス cv::Algorithm に属する継承限定公開メンバ関数
void writeFormat (FileStorage &fs) const

詳解

K. KonoligeによってOpenCVに導入・貢献された,ブロックマッチングアルゴリズムを用いたステレオ対応点計算のクラス.

関数詳解

create()

static CV_EXPORTS Ptr< cv::stereo::StereoBinaryBM > cv::stereo::StereoBinaryBM::create ( int numDisparities = 0,
int blockSize = 9
)
static

視差検索範囲を作成します。StereoBMオブジェクト

引数
numDisparities 視差の検索範囲を作成します。各ピクセルに対して,アルゴリズムは,0(デフォルトの最小視差)から numDisparities までの範囲で,最適な視差を見つけます.最小視差を変更することで,探索範囲を移動させることができます.
blockSize アルゴリズムによって比較されるブロックの線形サイズ.このサイズは奇数でなければいけません(ブロックの中心が現在のピクセルになるからです).ブロックサイズを大きくすると,視差マップの精度は落ちますが,スムーズになります.ブロックサイズが小さければ,より詳細な視差マップが得られますが,アルゴリズムが間違った対応関係を見つけてしまう可能性が高くなります.

関数 createStereoBMオブジェクトを作成します.そして,次のように呼び出すことができます.StereoBM::compute()を呼び出して,特定のステレオペアの視差を計算することができます.


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