Fix matching::maxDisparity value when calling StereoBinarySGBM::setNumDisparities after ctor

Note that it considers maxDisparity==numDisparities, and so minDisparity as being 0
pull/2635/head
Pierre-Emmanuel Viel 5 years ago
parent 3ce9ec6c82
commit f64f4bc3a9
  1. 3
      modules/stereo/src/stereo_binary_sgbm.cpp

@ -725,7 +725,8 @@ namespace cv
void setMinDisparity(int minDisparity) CV_OVERRIDE {CV_Assert(minDisparity >= 0); params.minDisparity = minDisparity; }
int getNumDisparities() const CV_OVERRIDE { return params.numDisparities; }
void setNumDisparities(int numDisparities) CV_OVERRIDE { CV_Assert(numDisparities > 0); params.numDisparities = numDisparities; }
void setNumDisparities(int numDisparities) CV_OVERRIDE { CV_Assert(numDisparities > 0); params.numDisparities = numDisparities;
Matching::setMaxDisparity(numDisparities /*- params.minDisparity*/);}
int getBlockSize() const CV_OVERRIDE { return params.kernelSize; }
void setBlockSize(int blockSize) CV_OVERRIDE {CV_Assert(blockSize % 2 != 0); params.kernelSize = blockSize; }

Loading…
Cancel
Save