Loading...
Searching...
No Matches

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

#include <opencv2/calib3d.hpp>

Inheritance diagram for cv::StereoBM:
cv::StereoMatcher cv::Algorithm cv::cuda::StereoBM

Public Types

enum  {
  PREFILTER_NORMALIZED_RESPONSE = 0 ,
  PREFILTER_XSOBEL = 1
}
 
- Public Types inherited from cv::StereoMatcher
enum  {
  DISP_SHIFT = 4 ,
  DISP_SCALE = (1 << DISP_SHIFT)
}
 

Public Member Functions

virtual int getPreFilterCap () const =0
 
virtual int getPreFilterSize () const =0
 
virtual int getPreFilterType () const =0
 
virtual Rect getROI1 () const =0
 
virtual Rect getROI2 () const =0
 
virtual int getSmallerBlockSize () const =0
 
virtual int getTextureThreshold () const =0
 
virtual int getUniquenessRatio () const =0
 
virtual void setPreFilterCap (int preFilterCap)=0
 
virtual void setPreFilterSize (int preFilterSize)=0
 
virtual void setPreFilterType (int preFilterType)=0
 
virtual void setROI1 (Rect roi1)=0
 
virtual void setROI2 (Rect roi2)=0
 
virtual void setSmallerBlockSize (int blockSize)=0
 
virtual void setTextureThreshold (int textureThreshold)=0
 
virtual void setUniquenessRatio (int uniquenessRatio)=0
 
- Public Member Functions inherited from cv::StereoMatcher
virtual void compute (InputArray left, InputArray right, OutputArray disparity)=0
 Computes disparity map for the specified stereo pair.
 
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 ()
 Clears the algorithm state.
 
virtual bool empty () const
 Returns true if the Algorithm is empty (e.g. in the very beginning or after unsuccessful read.
 
virtual String getDefaultName () const
 
virtual void read (const FileNode &fn)
 Reads algorithm parameters from a file storage.
 
virtual void save (const String &filename) const
 
void write (const Ptr< FileStorage > &fs, const String &name=String()) const
 
virtual void write (FileStorage &fs) const
 Stores algorithm parameters in a file storage.
 
void write (FileStorage &fs, const String &name) const
 

Static Public Member Functions

static Ptr< StereoBMcreate (int numDisparities=0, int blockSize=21)
 Creates StereoBM object.
 
- Static Public Member Functions inherited from cv::Algorithm
template<typename _Tp >
static Ptr< _Tpload (const String &filename, const String &objname=String())
 Loads algorithm from the file.
 
template<typename _Tp >
static Ptr< _TploadFromString (const String &strModel, const String &objname=String())
 Loads algorithm from a String.
 
template<typename _Tp >
static Ptr< _Tpread (const FileNode &fn)
 Reads algorithm from the file node.
 

Additional Inherited Members

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

Detailed Description

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

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
Enumerator
PREFILTER_NORMALIZED_RESPONSE 
PREFILTER_XSOBEL 

Member Function Documentation

◆ create()

static Ptr< StereoBM > cv::StereoBM::create ( int  numDisparities = 0,
int  blockSize = 21 
)
static

Creates StereoBM object.

Parameters
numDisparitiesthe disparity search range. For each pixel algorithm will find the best disparity from 0 (default minimum disparity) to numDisparities. The search range can then be shifted by changing the minimum disparity.
blockSizethe linear size of the blocks compared by the algorithm. The size should be odd (as the block is centered at the current pixel). Larger block size implies smoother, though less accurate disparity map. Smaller block size gives more detailed disparity map, but there is higher chance for algorithm to find a wrong correspondence.

The function create StereoBM object. You can then call StereoBM::compute() to compute disparity for a specific stereo pair.

◆ getPreFilterCap()

virtual int cv::StereoBM::getPreFilterCap ( ) const
pure virtual

◆ getPreFilterSize()

virtual int cv::StereoBM::getPreFilterSize ( ) const
pure virtual

◆ getPreFilterType()

virtual int cv::StereoBM::getPreFilterType ( ) const
pure virtual

◆ getROI1()

virtual Rect cv::StereoBM::getROI1 ( ) const
pure virtual

◆ getROI2()

virtual Rect cv::StereoBM::getROI2 ( ) const
pure virtual

◆ getSmallerBlockSize()

virtual int cv::StereoBM::getSmallerBlockSize ( ) const
pure virtual

◆ getTextureThreshold()

virtual int cv::StereoBM::getTextureThreshold ( ) const
pure virtual

◆ getUniquenessRatio()

virtual int cv::StereoBM::getUniquenessRatio ( ) const
pure virtual

◆ setPreFilterCap()

virtual void cv::StereoBM::setPreFilterCap ( int  preFilterCap)
pure virtual

◆ setPreFilterSize()

virtual void cv::StereoBM::setPreFilterSize ( int  preFilterSize)
pure virtual

◆ setPreFilterType()

virtual void cv::StereoBM::setPreFilterType ( int  preFilterType)
pure virtual

◆ setROI1()

virtual void cv::StereoBM::setROI1 ( Rect  roi1)
pure virtual

◆ setROI2()

virtual void cv::StereoBM::setROI2 ( Rect  roi2)
pure virtual

◆ setSmallerBlockSize()

virtual void cv::StereoBM::setSmallerBlockSize ( int  blockSize)
pure virtual

◆ setTextureThreshold()

virtual void cv::StereoBM::setTextureThreshold ( int  textureThreshold)
pure virtual

◆ setUniquenessRatio()

virtual void cv::StereoBM::setUniquenessRatio ( int  uniquenessRatio)
pure virtual

The documentation for this class was generated from the following file: