| OpenCV 5.0.0alpha Open Source Computer Vision

Loading...
Searching...
No Matches
Public Member Functions | List of all members
cv::cuda::StereoSGM Class Referenceabstract
CUDA-accelerated Computer Vision » Stereo Correspondence

The class implements the modified H. Hirschmuller algorithm [126]. Limitation and difference are as follows: More...

`#include <opencv2/cudastereo.hpp>`

Collaboration diagram for cv::cuda::StereoSGM:

## Public Member Functions
virtual void | compute (InputArray left, InputArray right, OutputArray disparity) CV_OVERRIDE=0
| Computes disparity map for the specified stereo pair.
virtual void | compute (InputArray left, InputArray right, OutputArray disparity, Stream &stream)=0
| Computes disparity map with specified CUDA Stream.
Public Member Functions inherited from cv::StereoSGBM
virtual int | getMode () const =0
virtual int | getP1 () const =0
virtual int | getP2 () const =0
virtual int | getPreFilterCap () const =0
virtual int | getUniquenessRatio () const =0
virtual void | setMode (int mode)=0
virtual void | setP1 (int P1)=0
virtual void | setP2 (int P2)=0
virtual void | setPreFilterCap (int preFilterCap)=0
virtual void | setUniquenessRatio (int uniquenessRatio)=0
Public Member Functions inherited from cv::StereoMatcher
virtual int | getBlockSize () const =0
virtual int | getDisp12MaxDiff () const =0
virtual int | getMinDisparity () const =0
virtual int | getNumDisparities () const =0
virtual int | getSpeckleRange () const =0
virtual int | getSpeckleWindowSize () const =0
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 | setSpeckleRange (int speckleRange)=0
virtual void | setSpeckleWindowSize (int speckleWindowSize)=0
Public Member Functions inherited from cv::Algorithm
| Algorithm ()
virtual | ~Algorithm ()
virtual void | clear ()
| Clears the algorithm state.
virtual bool | empty () const
| Returns true if the Algorithm is empty (e.g. in the very beginning or after unsuccessful read.
virtual String | getDefaultName () const
virtual void | read (const FileNode &fn)
| Reads algorithm parameters from a file storage.
virtual void | save (const String &filename) const
virtual void | write (FileStorage &fs) const
| Stores algorithm parameters in a file storage.
void | write (FileStorage &fs, const String &name) const

## Additional Inherited Members
Public Types inherited from cv::StereoSGBM
enum | { MODE_SGBM = 0 , MODE_HH = 1 , MODE_SGBM_3WAY = 2 , MODE_HH4 = 3 }
Public Types inherited from cv::StereoMatcher
enum | { DISP_SHIFT = 4 , DISP_SCALE = (1 << DISP_SHIFT) }
Static Public Member Functions inherited from cv::StereoSGBM
static Ptr< StereoSGBM > | create (int minDisparity=0, int numDisparities=16, int blockSize=3, int P1=0, int P2=0, int disp12MaxDiff=0, int preFilterCap=0, int uniquenessRatio=0, int speckleWindowSize=0, int speckleRange=0, int mode=StereoSGBM::MODE_SGBM)
| Creates StereoSGBM object.
Static Public Member Functions inherited from cv::Algorithm
template<typename _Tp >
static Ptr< _Tp > | load (const String &filename, const String &objname=String())
| Loads algorithm from the file.
template<typename _Tp >
static Ptr< _Tp > | loadFromString (const String &strModel, const String &objname=String())
| Loads algorithm from a String.
template<typename _Tp >
static Ptr< _Tp > | read (const FileNode &fn)
| Reads algorithm from the file node.
Protected Member Functions inherited from cv::Algorithm
void | writeFormat (FileStorage &fs) const

## Detailed Description

The class implements the modified H. Hirschmuller algorithm [126]. Limitation and difference are as follows:

- By default, the algorithm uses only 4 directions which are horizontal and vertical path instead of 8. Set mode=StereoSGM::MODE_HH in createStereoSGM to run the full variant of the algorithm.
- Mutual Information cost function is not implemented. Instead, Center-Symmetric Census Transform with \(9 \times 7\) window size from [251] is used for robustness.

See also
  cv::StereoSGBM

## Member Function Documentation

## ◆ compute() [1/2]

virtual void cv::cuda::StereoSGM::compute | ( | InputArray | left,
|  | InputArray | right,
|  | OutputArray | disparity )
| pure virtual

Computes disparity map for the specified stereo pair.

Parameters

  left | Left 8-bit or 16-bit unsigned 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. StereoSGM computes 16-bit fixed-point disparity map (where each disparity value has 4 fractional bits).

Implements cv::StereoMatcher.

## ◆ compute() [2/2]

virtual void cv::cuda::StereoSGM::compute | ( | InputArray | left,
|  | InputArray | right,
|  | OutputArray | disparity,
|  | Stream & | stream )
| pure virtual

Computes disparity map with specified CUDA Stream.

See also
  compute

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

- opencv2/cudastereo.hpp