44#ifndef __OPENCV_STEREO_HPP__
45#define __OPENCV_STEREO_HPP__
47#include "opencv2/core.hpp"
48#include "opencv2/stereo/descriptor.hpp"
49#include <opencv2/stereo/quasi_dense_stereo.hpp>
78 enum { DISP_SHIFT = 4,
79 DISP_SCALE = (1 << DISP_SHIFT)
90 virtual void compute( InputArray left, InputArray right,
93 virtual int getMinDisparity()
const = 0;
94 virtual void setMinDisparity(
int minDisparity) = 0;
96 virtual int getNumDisparities()
const = 0;
97 virtual void setNumDisparities(
int numDisparities) = 0;
99 virtual int getBlockSize()
const = 0;
100 virtual void setBlockSize(
int blockSize) = 0;
102 virtual int getSpeckleWindowSize()
const = 0;
103 virtual void setSpeckleWindowSize(
int speckleWindowSize) = 0;
105 virtual int getSpeckleRange()
const = 0;
106 virtual void setSpeckleRange(
int speckleRange) = 0;
108 virtual int getDisp12MaxDiff()
const = 0;
109 virtual void setDisp12MaxDiff(
int disp12MaxDiff) = 0;
114 CV_SPECKLE_REMOVAL_ALGORITHM, CV_SPECKLE_REMOVAL_AVG_ALGORITHM
118 CV_QUADRATIC_INTERPOLATION, CV_SIMETRICV_INTERPOLATION
126 enum { PREFILTER_NORMALIZED_RESPONSE = 0,
130 virtual int getPreFilterType()
const = 0;
131 virtual void setPreFilterType(
int preFilterType) = 0;
133 virtual int getPreFilterSize()
const = 0;
134 virtual void setPreFilterSize(
int preFilterSize) = 0;
136 virtual int getPreFilterCap()
const = 0;
137 virtual void setPreFilterCap(
int preFilterCap) = 0;
139 virtual int getTextureThreshold()
const = 0;
140 virtual void setTextureThreshold(
int textureThreshold) = 0;
142 virtual int getUniquenessRatio()
const = 0;
143 virtual void setUniquenessRatio(
int uniquenessRatio) = 0;
145 virtual int getSmallerBlockSize()
const = 0;
146 virtual void setSmallerBlockSize(
int blockSize) = 0;
148 virtual int getScalleFactor()
const = 0 ;
149 virtual void setScalleFactor(
int factor) = 0;
151 virtual int getSpekleRemovalTechnique()
const = 0 ;
152 virtual void setSpekleRemovalTechnique(
int factor) = 0;
154 virtual bool getUsePrefilter()
const = 0 ;
155 virtual void setUsePrefilter(
bool factor) = 0;
157 virtual int getBinaryKernelType()
const = 0;
158 virtual void setBinaryKernelType(
int value) = 0;
160 virtual int getAgregationWindowSize()
const = 0;
161 virtual void setAgregationWindowSize(
int value) = 0;
205 virtual int getPreFilterCap()
const = 0;
206 virtual void setPreFilterCap(
int preFilterCap) = 0;
208 virtual int getUniquenessRatio()
const = 0;
209 virtual void setUniquenessRatio(
int uniquenessRatio) = 0;
211 virtual int getP1()
const = 0;
212 virtual void setP1(
int P1) = 0;
214 virtual int getP2()
const = 0;
215 virtual void setP2(
int P2) = 0;
217 virtual int getMode()
const = 0;
218 virtual void setMode(
int mode) = 0;
220 virtual int getSpekleRemovalTechnique()
const = 0 ;
221 virtual void setSpekleRemovalTechnique(
int factor) = 0;
223 virtual int getBinaryKernelType()
const = 0;
224 virtual void setBinaryKernelType(
int value) = 0;
226 virtual int getSubPixelInterpolationMethod()
const = 0;
227 virtual void setSubPixelInterpolationMethod(
int value) = 0;
267 int P1 = 100,
int P2 = 1000,
int disp12MaxDiff = 1,
268 int preFilterCap = 0,
int uniquenessRatio = 5,
269 int speckleWindowSize = 400,
int speckleRange = 200,
270 int mode = StereoBinarySGBM::MODE_SGBM);
This type is very similar to InputArray except that it is used for input/output and output function p...
Definition: mat.hpp:295
This is a base class for all more or less complex algorithms in OpenCV
Definition: core.hpp:3091
Class for computing stereo correspondence using the block matching algorithm, introduced and contribu...
Definition: stereo.hpp:124
static CV_EXPORTS Ptr< cv::stereo::StereoBinaryBM > create(int numDisparities=0, int blockSize=9)
Creates StereoBM object
The class implements the modified H. Hirschmuller algorithm that differs from the original one as fo...
Definition: stereo.hpp:197
static CV_EXPORTS Ptr< cv::stereo::StereoBinarySGBM > create(int minDisparity, int numDisparities, int blockSize, int P1=100, int P2=1000, int disp12MaxDiff=1, int preFilterCap=0, int uniquenessRatio=5, int speckleWindowSize=400, int speckleRange=200, int mode=StereoBinarySGBM::MODE_SGBM)
Creates StereoSGBM object
Filters off small noise blobs (speckles) in the disparity map
Definition: stereo.hpp:76
virtual void compute(InputArray left, InputArray right, OutputArray disparity)=0
Computes disparity map for the specified stereo pair
"black box" representation of the file storage associated with a file on disk.
Definition: aruco.hpp:75
Definition: cvstd_wrapper.hpp:74