Stereo Correspondance Algorithms

类

struct   cv::stereo::Match

struct   cv::stereo::PropagationParameters

class   cv::stereo::QuasiDenseStereo
Class containing the methods needed for Quasi Dense Stereo computation. 更多...

class   cv::stereo::StereoBinaryBM
Class for computing stereo correspondence using the block matching algorithm, introduced and contributed to OpenCV by K. Konolige. 更多...

class   cv::stereo::StereoBinarySGBM
The class implements the modified H. Hirschmuller algorithm [102] that differs from the original one as follows: 更多...

class   cv::stereo::StereoMatcher
Filters off small noise blobs (speckles) in the disparity map. 更多...

枚举

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 更多...

enum   {
cv::stereo::CV_QUADRATIC_INTERPOLATION ,
cv::stereo::CV_SIMETRICV_INTERPOLATION
}
subpixel interpolationm methods for disparities. 更多...

函数

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. 更多...

变量

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

◆  anonymous enum

 anonymous enum

 #include < opencv2/stereo.hpp > 

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

CV_SPECKLE_REMOVAL_ALGORITHM
CV_SPECKLE_REMOVAL_AVG_ALGORITHM

◆  anonymous enum

 anonymous enum

 #include < opencv2/stereo.hpp > 

subpixel interpolationm methods for disparities.

CV_QUADRATIC_INTERPOLATION
CV_SIMETRICV_INTERPOLATION

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

 #include < opencv2/stereo/quasi_dense_stereo.hpp > 

◆  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] denseMatches A vector containing all dense matches.

The method clears the denseMatches vector.

◆  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] disparityLvls The level of detail in output disparity image.

Default level is 50

cv::Mat containing a the disparity image in grayscale.

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] x The x pixel coordinate in the left image channel. [in] y The 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.

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] sMatches A vector containing all sparse correspondences.

The method clears the sMatches vector.

◆  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] filepath The location of the .YAML file containing the configuration parameters.

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.

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.

loadParameters

◆  operator <()

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

 #include < opencv2/stereo/quasi_dense_stereo.hpp > 

◆  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] imgLeft The left Channel of a stereo image pair. [in] imgRight The right Channel of a stereo image pair.

If input images are in color, the method assumes that are BGR and converts them to grayscale.

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] filepath The location to store the parameters file.

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.

loadParameters

◆  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