OpenCV  4.1.1-pre
Open Source Computer Vision
Looking for a C++ dev who knows OpenCV?
I'm looking for work. Hire me!
cv::StereoBM Class Referenceabstract

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

#include <opencv2/calib3d.hpp>

Inheritance diagram for cv::StereoBM:
Collaboration diagram for cv::StereoBM:

Public Types

enum  {
  DISP_SHIFT = 4,
  DISP_SCALE = (1 << DISP_SHIFT)
}
 
enum  {
  PREFILTER_NORMALIZED_RESPONSE = 0,
  PREFILTER_XSOBEL = 1
}
 

Public Member Functions

virtual void clear ()
 Clears the algorithm state. More...
 
virtual void compute (InputArray left, InputArray right, OutputArray disparity)=0
 Computes disparity map for the specified stereo pair. More...
 
virtual bool empty () const
 Returns true if the Algorithm is empty (e.g. More...
 
virtual int getBlockSize () const =0
 
virtual String getDefaultName () const
 Returns the algorithm string identifier. More...
 
virtual int getDisp12MaxDiff () const =0
 
virtual int getMinDisparity () const =0
 
virtual int getNumDisparities () const =0
 
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 getSpeckleRange () const =0
 
virtual int getSpeckleWindowSize () const =0
 
virtual int getTextureThreshold () const =0
 
virtual int getUniquenessRatio () const =0
 
virtual void read (const FileNode &fn)
 Reads algorithm parameters from a file storage. More...
 
virtual void save (const String &filename) const
 Saves the algorithm to a file. More...
 
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 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 setSpeckleRange (int speckleRange)=0
 
virtual void setSpeckleWindowSize (int speckleWindowSize)=0
 
virtual void setTextureThreshold (int textureThreshold)=0
 
virtual void setUniquenessRatio (int uniquenessRatio)=0
 
virtual void write (FileStorage &fs) const
 Stores algorithm parameters in a file storage. More...
 
void write (const Ptr< FileStorage > &fs, const String &name=String()) const
 simplified API for language bindings This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. More...
 

Static Public Member Functions

static Ptr< StereoBMcreate (int numDisparities=0, int blockSize=21)
 Creates StereoBM object. More...
 
template<typename _Tp >
static Ptr< _Tp > load (const String &filename, const String &objname=String())
 Loads algorithm from the file. More...
 
template<typename _Tp >
static Ptr< _Tp > loadFromString (const String &strModel, const String &objname=String())
 Loads algorithm from a String. More...
 
template<typename _Tp >
static Ptr< _Tp > read (const FileNode &fn)
 Reads algorithm from the file node. More...
 

Protected Member Functions

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
inherited
Enumerator
DISP_SHIFT 
DISP_SCALE 

◆ anonymous enum

anonymous enum
Enumerator
PREFILTER_NORMALIZED_RESPONSE 
PREFILTER_XSOBEL 

Member Function Documentation

◆ clear()

virtual void cv::Algorithm::clear ( )
inlinevirtualinherited

Clears the algorithm state.

Reimplemented in cv::FlannBasedMatcher, and cv::DescriptorMatcher.

◆ compute()

virtual void cv::StereoMatcher::compute ( InputArray  left,
InputArray  right,
OutputArray  disparity 
)
pure virtualinherited

Computes disparity map for the specified stereo pair.

Parameters
leftLeft 8-bit single-channel image.
rightRight image of the same size and the same type as the left one.
disparityOutput disparity map. It has the same size as the input images. Some algorithms, like StereoBM or StereoSGBM compute 16-bit fixed-point disparity map (where each disparity value has 4 fractional bits), whereas other algorithms output 32-bit floating-point disparity map.

◆ 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.

◆ empty()

virtual bool cv::Algorithm::empty ( ) const
inlinevirtualinherited

Returns true if the Algorithm is empty (e.g.

in the very beginning or after unsuccessful read

Reimplemented in cv::DescriptorMatcher, cv::ml::StatModel, cv::Feature2D, and cv::BaseCascadeClassifier.

◆ getBlockSize()

virtual int cv::StereoMatcher::getBlockSize ( ) const
pure virtualinherited

◆ getDefaultName()

virtual String cv::Algorithm::getDefaultName ( ) const
virtualinherited

Returns the algorithm string identifier.

This string is used as top level xml/yml node tag when the object is saved to a file or string.

Reimplemented in cv::AKAZE, cv::KAZE, cv::SimpleBlobDetector, cv::GFTTDetector, cv::AgastFeatureDetector, cv::FastFeatureDetector, cv::MSER, cv::ORB, cv::BRISK, and cv::Feature2D.

◆ getDisp12MaxDiff()

virtual int cv::StereoMatcher::getDisp12MaxDiff ( ) const
pure virtualinherited

◆ getMinDisparity()

virtual int cv::StereoMatcher::getMinDisparity ( ) const
pure virtualinherited

◆ getNumDisparities()

virtual int cv::StereoMatcher::getNumDisparities ( ) const
pure virtualinherited

◆ 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

◆ getSpeckleRange()

virtual int cv::StereoMatcher::getSpeckleRange ( ) const
pure virtualinherited

◆ getSpeckleWindowSize()

virtual int cv::StereoMatcher::getSpeckleWindowSize ( ) const
pure virtualinherited

◆ getTextureThreshold()

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

◆ getUniquenessRatio()

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

◆ load()

template<typename _Tp >
static Ptr<_Tp> cv::Algorithm::load ( const String filename,
const String objname = String() 
)
inlinestaticinherited

Loads algorithm from the file.

Parameters
filenameName of the file to read.
objnameThe optional name of the node to read (if empty, the first top-level node will be used)

This is static template method of Algorithm. It's usage is following (in the case of SVM):

Ptr<SVM> svm = Algorithm::load<SVM>("my_svm_model.xml");

In order to make this method work, the derived class must overwrite Algorithm::read(const FileNode& fn).

References CV_Assert, cv::FileNode::empty(), cv::FileStorage::getFirstTopLevelNode(), cv::FileStorage::isOpened(), and cv::FileStorage::READ.

Here is the call graph for this function:

◆ loadFromString()

template<typename _Tp >
static Ptr<_Tp> cv::Algorithm::loadFromString ( const String strModel,
const String objname = String() 
)
inlinestaticinherited

Loads algorithm from a String.

Parameters
strModelThe string variable containing the model you want to load.
objnameThe optional name of the node to read (if empty, the first top-level node will be used)

This is static template method of Algorithm. It's usage is following (in the case of SVM):

Ptr<SVM> svm = Algorithm::loadFromString<SVM>(myStringModel);

References CV_WRAP, cv::FileNode::empty(), cv::FileStorage::getFirstTopLevelNode(), cv::FileStorage::MEMORY, and cv::FileStorage::READ.

Here is the call graph for this function:

◆ read() [1/2]

virtual void cv::Algorithm::read ( const FileNode fn)
inlinevirtualinherited

Reads algorithm parameters from a file storage.

Reimplemented in cv::FlannBasedMatcher, cv::DescriptorMatcher, and cv::Feature2D.

◆ read() [2/2]

template<typename _Tp >
static Ptr<_Tp> cv::Algorithm::read ( const FileNode fn)
inlinestaticinherited

Reads algorithm from the file node.

This is static template method of Algorithm. It's usage is following (in the case of SVM):

cv::FileStorage fsRead("example.xml", FileStorage::READ);
Ptr<SVM> svm = Algorithm::read<SVM>(fsRead.root());

In order to make this method work, the derived class must overwrite Algorithm::read(const FileNode& fn) and also have static create() method without parameters (or with all the optional parameters)

◆ save()

virtual void cv::Algorithm::save ( const String filename) const
virtualinherited

Saves the algorithm to a file.

In order to make this method work, the derived class must implement Algorithm::write(FileStorage& fs).

◆ setBlockSize()

virtual void cv::StereoMatcher::setBlockSize ( int  blockSize)
pure virtualinherited

◆ setDisp12MaxDiff()

virtual void cv::StereoMatcher::setDisp12MaxDiff ( int  disp12MaxDiff)
pure virtualinherited

◆ setMinDisparity()

virtual void cv::StereoMatcher::setMinDisparity ( int  minDisparity)
pure virtualinherited

◆ setNumDisparities()

virtual void cv::StereoMatcher::setNumDisparities ( int  numDisparities)
pure virtualinherited

◆ 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

◆ setSpeckleRange()

virtual void cv::StereoMatcher::setSpeckleRange ( int  speckleRange)
pure virtualinherited

◆ setSpeckleWindowSize()

virtual void cv::StereoMatcher::setSpeckleWindowSize ( int  speckleWindowSize)
pure virtualinherited

◆ setTextureThreshold()

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

◆ setUniquenessRatio()

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

◆ write() [1/2]

virtual void cv::Algorithm::write ( FileStorage fs) const
inlinevirtualinherited

Stores algorithm parameters in a file storage.

Reimplemented in cv::FlannBasedMatcher, cv::DescriptorMatcher, and cv::Feature2D.

References CV_WRAP.

Referenced by cv::Feature2D::write(), and cv::DescriptorMatcher::write().

Here is the caller graph for this function:

◆ write() [2/2]

void cv::Algorithm::write ( const Ptr< FileStorage > &  fs,
const String name = String() 
) const
inherited

simplified API for language bindings This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

◆ writeFormat()

void cv::Algorithm::writeFormat ( FileStorage fs) const
protectedinherited

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