OpenCV  4.1.0
Open Source Computer Vision
Classes | Enumerations | Functions | Variables
Stereo Correspondance Algorithms

Classes

struct  cv::stereo::Match
 
struct  cv::stereo::PropagationParameters
 
class  cv::stereo::QuasiDenseStereo
 Class containing the methods needed for Quasi Dense Stereo computation. More...
 
class  cv::stereo::StereoBinaryBM
 Class for computing stereo correspondence using the block matching algorithm, introduced and contributed to OpenCV by K. Konolige. More...
 
class  cv::stereo::StereoBinarySGBM
 The class implements the modified H. Hirschmuller algorithm. More...
 
class  cv::stereo::StereoMatcher
 Filters off small noise blobs (speckles) in the disparity map. More...
 

Enumerations

enum  {
  cv::stereo::CV_SPECKLE_REMOVAL_ALGORITHM,
  cv::stereo::CV_SPECKLE_REMOVAL_AVG_ALGORITHM
}
 speckle removal algorithms. These algorithms have the purpose of removing small regions More...
 
enum  {
  cv::stereo::CV_QUADRATIC_INTERPOLATION,
  cv::stereo::CV_SIMETRICV_INTERPOLATION
}
 subpixel interpolationm methods for disparities. More...
 

Functions

virtual cv::stereo::QuasiDenseStereo::~QuasiDenseStereo ()=0
 destructor Method to free all the memory allocated by matrices and vectors in this class.
 
static cv::Ptr< QuasiDenseStereo > cv::stereo::QuasiDenseStereo::create (cv::Size monoImgSize, cv::String paramFilepath=cv::String())
 
virtual void cv::stereo::QuasiDenseStereo::getDenseMatches (std::vector< stereo::Match > &denseMatches)=0
 Get The dense corresponding points.
 
virtual cv::Mat cv::stereo::QuasiDenseStereo::getDisparity (uint8_t disparityLvls=50)=0
 Compute and return the disparity map based on the correspondences found in the "process" method.
 
virtual cv::Point2f cv::stereo::QuasiDenseStereo::getMatch (const int x, const int y)=0
 Specify pixel coordinates in the left image and get its corresponding location in the right image.
 
virtual void cv::stereo::QuasiDenseStereo::getSparseMatches (std::vector< stereo::Match > &sMatches)=0
 Get The sparse corresponding points.
 
virtual int cv::stereo::QuasiDenseStereo::loadParameters (cv::String filepath)=0
 Load a file containing the configuration parameters of the class.
 
bool cv::stereo::Match::operator< (const Match &rhs) const
 
virtual void cv::stereo::QuasiDenseStereo::process (const cv::Mat &imgLeft, const cv::Mat &imgRight)=0
 Main process of the algorithm. This method computes the sparse seeds and then densifies them.
 
virtual int cv::stereo::QuasiDenseStereo::saveParameters (cv::String filepath)=0
 Save a file containing all the configuration parameters the class is currently set to.
 

Variables

int cv::stereo::PropagationParameters::borderX
 
int cv::stereo::PropagationParameters::borderY
 
float cv::stereo::Match::corr
 
float cv::stereo::PropagationParameters::correlationThreshold
 
int cv::stereo::PropagationParameters::corrWinSizeX
 
int cv::stereo::PropagationParameters::corrWinSizeY
 
int cv::stereo::PropagationParameters::disparityGradient
 
int cv::stereo::PropagationParameters::gftMaxNumFeatures
 
int cv::stereo::PropagationParameters::gftMinSeperationDist
 
float cv::stereo::PropagationParameters::gftQualityThres
 
int cv::stereo::PropagationParameters::lkPyrLvl
 
int cv::stereo::PropagationParameters::lkTemplateSize
 
int cv::stereo::PropagationParameters::lkTermParam1
 
float cv::stereo::PropagationParameters::lkTermParam2
 
int cv::stereo::PropagationParameters::neighborhoodSize
 
cv::Point2i cv::stereo::Match::p0
 
cv::Point2i cv::stereo::Match::p1
 
PropagationParameters cv::stereo::QuasiDenseStereo::Param
 
float cv::stereo::PropagationParameters::textrureThreshold
 

Detailed Description

Enumeration Type Documentation

anonymous enum

speckle removal algorithms. These algorithms have the purpose of removing small regions

Enumerator
CV_SPECKLE_REMOVAL_ALGORITHM 
CV_SPECKLE_REMOVAL_AVG_ALGORITHM 
anonymous enum

subpixel interpolationm methods for disparities.

Enumerator
CV_QUADRATIC_INTERPOLATION 
CV_SIMETRICV_INTERPOLATION 

Function Documentation

virtual cv::stereo::QuasiDenseStereo::~QuasiDenseStereo ( )
pure virtual

destructor Method to free all the memory allocated by matrices and vectors in this class.

static cv::Ptr<QuasiDenseStereo> cv::stereo::QuasiDenseStereo::create ( cv::Size  monoImgSize,
cv::String  paramFilepath = cv::String() 
)
static
virtual void cv::stereo::QuasiDenseStereo::getDenseMatches ( std::vector< stereo::Match > &  denseMatches)
pure virtual

Get The dense corresponding points.

Parameters
[out]denseMatchesA vector containing all dense matches.
Note
The method clears the denseMatches vector.
The returned Match elements inside the sMatches vector, do not use corr member.
virtual cv::Mat cv::stereo::QuasiDenseStereo::getDisparity ( uint8_t  disparityLvls = 50)
pure virtual

Compute and return the disparity map based on the correspondences found in the "process" method.

Parameters
[in]disparityLvlsThe level of detail in output disparity image.
Note
Default level is 50
Returns
cv::Mat containing a the disparity image in grayscale.
See Also
computeDisparity
quantizeDisparity
virtual cv::Point2f cv::stereo::QuasiDenseStereo::getMatch ( const int  x,
const int  y 
)
pure virtual

Specify pixel coordinates in the left image and get its corresponding location in the right image.

Parameters
[in]xThe x pixel coordinate in the left image channel.
[in]yThe y pixel coordinate in the left image channel.
Return values
cv::Point(x,y)The location of the corresponding pixel in the right image.
cv::Point(0,0)(NO_MATCH) if no match is found in the right image for the specified pixel location in the left image.
Note
This method should be always called after process, otherwise the matches will not be correct.
virtual void cv::stereo::QuasiDenseStereo::getSparseMatches ( std::vector< stereo::Match > &  sMatches)
pure virtual

Get The sparse corresponding points.

Parameters
[out]sMatchesA vector containing all sparse correspondences.
Note
The method clears the sMatches vector.
The returned Match elements inside the sMatches vector, do not use corr member.
virtual int cv::stereo::QuasiDenseStereo::loadParameters ( cv::String  filepath)
pure virtual

Load a file containing the configuration parameters of the class.

Parameters
[in]filepathThe location of the .YAML file containing the configuration parameters.
Note
default value is an empty string in which case the default parameters will be loaded.
Return values
1,:If the path is not empty and the program loaded the parameters successfully.
0,:If the path is empty and the program loaded default parameters.
-1,:If the file location is not valid or the program could not open the file and loaded default parameters from defaults.hpp.
Note
The method is automatically called in the constructor and configures the class.
Loading different parameters will have an effect on the output. This is useful for tuning in case of video processing.
See Also
loadParameters
bool cv::stereo::Match::operator< ( const Match rhs) const
inline
virtual void cv::stereo::QuasiDenseStereo::process ( const cv::Mat imgLeft,
const cv::Mat imgRight 
)
pure virtual

Main process of the algorithm. This method computes the sparse seeds and then densifies them.

Initially input images are converted to gray-scale and then the sparseMatching method is called to obtain the sparse stereo. Finally quasiDenseMatching is called to densify the corresponding points.

Parameters
[in]imgLeftThe left Channel of a stereo image pair.
[in]imgRightThe right Channel of a stereo image pair.
Note
If input images are in color, the method assumes that are BGR and converts them to grayscale.
See Also
sparseMatching
quasiDenseMatching
virtual int cv::stereo::QuasiDenseStereo::saveParameters ( cv::String  filepath)
pure virtual

Save a file containing all the configuration parameters the class is currently set to.

Parameters
[in]filepathThe location to store the parameters file.
Note
Calling this method with no arguments will result in storing class parameters to a file names "qds_parameters.yaml" in the root project folder.
This method can be used to generate a template file for tuning the class.
See Also
loadParameters

Variable Documentation

int cv::stereo::PropagationParameters::borderX
int cv::stereo::PropagationParameters::borderY
float cv::stereo::Match::corr
float cv::stereo::PropagationParameters::correlationThreshold
int cv::stereo::PropagationParameters::corrWinSizeX
int cv::stereo::PropagationParameters::corrWinSizeY
int cv::stereo::PropagationParameters::disparityGradient
int cv::stereo::PropagationParameters::gftMaxNumFeatures
int cv::stereo::PropagationParameters::gftMinSeperationDist
float cv::stereo::PropagationParameters::gftQualityThres
int cv::stereo::PropagationParameters::lkPyrLvl
int cv::stereo::PropagationParameters::lkTemplateSize
int cv::stereo::PropagationParameters::lkTermParam1
float cv::stereo::PropagationParameters::lkTermParam2
int cv::stereo::PropagationParameters::neighborhoodSize
cv::Point2i cv::stereo::Match::p0
cv::Point2i cv::stereo::Match::p1
PropagationParameters cv::stereo::QuasiDenseStereo::Param
float cv::stereo::PropagationParameters::textrureThreshold