OpenCV  4.5.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 [106] that differs from the original one as follows: 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. More...
 
static cv::Ptr< QuasiDenseStereocv::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. More...
 
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. More...
 
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. More...
 
virtual void cv::stereo::QuasiDenseStereo::getSparseMatches (std::vector< stereo::Match > &sMatches)=0
 Get The sparse corresponding points. More...
 
virtual int cv::stereo::QuasiDenseStereo::loadParameters (cv::String filepath)=0
 Load a file containing the configuration parameters of the class. More...
 
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. More...
 
virtual int cv::stereo::QuasiDenseStereo::saveParameters (cv::String filepath)=0
 Save a file containing all the configuration parameters the class is currently set to. More...
 

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

anonymous enum

#include <opencv2/stereo.hpp>

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

Enumerator
CV_SPECKLE_REMOVAL_ALGORITHM 
CV_SPECKLE_REMOVAL_AVG_ALGORITHM 

◆ anonymous enum

anonymous enum

#include <opencv2/stereo.hpp>

subpixel interpolationm methods for disparities.

Enumerator
CV_QUADRATIC_INTERPOLATION 
CV_SIMETRICV_INTERPOLATION 

Function Documentation

◆ ~QuasiDenseStereo()

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

#include <opencv2/stereo/quasi_dense_stereo.hpp>

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

◆ create()

static cv::Ptr<QuasiDenseStereo> cv::stereo::QuasiDenseStereo::create ( cv::Size  monoImgSize,
cv::String  paramFilepath = cv::String() 
)
static

◆ getDenseMatches()

virtual void cv::stereo::QuasiDenseStereo::getDenseMatches ( std::vector< stereo::Match > &  denseMatches)
pure virtual

#include <opencv2/stereo/quasi_dense_stereo.hpp>

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.

◆ getDisparity()

virtual cv::Mat cv::stereo::QuasiDenseStereo::getDisparity ( uint8_t  disparityLvls = 50)
pure virtual

#include <opencv2/stereo/quasi_dense_stereo.hpp>

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

◆ getMatch()

virtual cv::Point2f cv::stereo::QuasiDenseStereo::getMatch ( const int  x,
const int  y 
)
pure virtual

#include <opencv2/stereo/quasi_dense_stereo.hpp>

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.

◆ getSparseMatches()

virtual void cv::stereo::QuasiDenseStereo::getSparseMatches ( std::vector< stereo::Match > &  sMatches)
pure virtual

#include <opencv2/stereo/quasi_dense_stereo.hpp>

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.

◆ loadParameters()

virtual int cv::stereo::QuasiDenseStereo::loadParameters ( cv::String  filepath)
pure virtual

#include <opencv2/stereo/quasi_dense_stereo.hpp>

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
1If the path is not empty and the program loaded the parameters successfully.
0If the path is empty and the program loaded default parameters.
-1If 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

◆ operator<()

bool cv::stereo::Match::operator< ( const Match rhs) const
inline

◆ process()

virtual void cv::stereo::QuasiDenseStereo::process ( const cv::Mat imgLeft,
const cv::Mat imgRight 
)
pure virtual

#include <opencv2/stereo/quasi_dense_stereo.hpp>

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

◆ saveParameters()

virtual int cv::stereo::QuasiDenseStereo::saveParameters ( cv::String  filepath)
pure virtual

#include <opencv2/stereo/quasi_dense_stereo.hpp>

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

◆ borderX

int cv::stereo::PropagationParameters::borderX

◆ borderY

int cv::stereo::PropagationParameters::borderY

◆ corr

float cv::stereo::Match::corr

◆ correlationThreshold

float cv::stereo::PropagationParameters::correlationThreshold

◆ corrWinSizeX

int cv::stereo::PropagationParameters::corrWinSizeX

◆ corrWinSizeY

int cv::stereo::PropagationParameters::corrWinSizeY

◆ disparityGradient

int cv::stereo::PropagationParameters::disparityGradient

◆ gftMaxNumFeatures

int cv::stereo::PropagationParameters::gftMaxNumFeatures

◆ gftMinSeperationDist

int cv::stereo::PropagationParameters::gftMinSeperationDist

◆ gftQualityThres

float cv::stereo::PropagationParameters::gftQualityThres

◆ lkPyrLvl

int cv::stereo::PropagationParameters::lkPyrLvl

◆ lkTemplateSize

int cv::stereo::PropagationParameters::lkTemplateSize

◆ lkTermParam1

int cv::stereo::PropagationParameters::lkTermParam1

◆ lkTermParam2

float cv::stereo::PropagationParameters::lkTermParam2

◆ neighborhoodSize

int cv::stereo::PropagationParameters::neighborhoodSize

◆ p0

cv::Point2i cv::stereo::Match::p0

◆ p1

cv::Point2i cv::stereo::Match::p1

◆ Param

PropagationParameters cv::stereo::QuasiDenseStereo::Param

◆ textrureThreshold

float cv::stereo::PropagationParameters::textrureThreshold