Class for computing stereo correspondence using the block matching algorithm, introduced and contributed to OpenCV by K. More...
#include "calib3d.hpp"
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... | |
Static Public Member Functions | |
static Ptr< StereoBM > | create (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 |
Class for computing stereo correspondence using the block matching algorithm, introduced and contributed to OpenCV by K.
Konolige.
|
inlinevirtualinherited |
Clears the algorithm state.
Reimplemented in cv::FlannBasedMatcher, cv::DescriptorMatcher, and cv::cuda::DescriptorMatcher.
|
pure virtualinherited |
Computes disparity map for the specified stereo pair.
left | Left 8-bit single-channel image. |
right | Right image of the same size and the same type as the left one. |
disparity | Output 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. |
Creates StereoBM object.
numDisparities | the 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. |
blockSize | the 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.
|
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, cv::BaseCascadeClassifier, and cv::cuda::DescriptorMatcher.
|
pure virtualinherited |
|
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.
|
pure virtualinherited |
|
pure virtualinherited |
|
pure virtualinherited |
|
pure virtual |
|
pure virtual |
|
pure virtual |
|
pure virtual |
|
pure virtual |
|
pure virtual |
|
pure virtualinherited |
|
pure virtualinherited |
|
pure virtual |
|
pure virtual |
|
inlinestaticinherited |
Loads algorithm from the file.
filename | Name of the file to read. |
objname | The 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):
In order to make this method work, the derived class must overwrite Algorithm::read(const FileNode& fn).
References cv::Ptr< T >::empty(), cv::FileNode::empty(), cv::FileStorage::getFirstTopLevelNode(), and cv::FileStorage::READ.
|
inlinestaticinherited |
Loads algorithm from a String.
strModel | The string variable containing the model you want to load. |
objname | The 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):
References CV_WRAP, cv::Ptr< T >::empty(), cv::FileNode::empty(), cv::FileStorage::getFirstTopLevelNode(), cv::FileStorage::MEMORY, and cv::FileStorage::READ.
|
inlinevirtualinherited |
Reads algorithm parameters from a file storage.
Reimplemented in cv::FlannBasedMatcher, cv::DescriptorMatcher, and cv::Feature2D.
|
inlinestaticinherited |
Reads algorithm from the file node.
This is static template method of Algorithm. It's usage is following (in the case of SVM):
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)
References cv::Ptr< T >::empty().
|
virtualinherited |
Saves the algorithm to a file.
In order to make this method work, the derived class must implement Algorithm::write(FileStorage& fs).
|
pure virtualinherited |
|
pure virtualinherited |
|
pure virtualinherited |
|
pure virtualinherited |
|
pure virtual |
|
pure virtual |
|
pure virtual |
|
pure virtual |
|
pure virtual |
|
pure virtual |
|
pure virtualinherited |
|
pure virtualinherited |
|
pure virtual |
|
pure virtual |
|
inlinevirtualinherited |
Stores algorithm parameters in a file storage.
Reimplemented in cv::FlannBasedMatcher, cv::DescriptorMatcher, and cv::Feature2D.
|
protectedinherited |