diff --git a/modules/DisparityStereoSGBM.cpp b/modules/DisparityStereoSGBM.cpp index 53e26ef..d941c10 100644 --- a/modules/DisparityStereoSGBM.cpp +++ b/modules/DisparityStereoSGBM.cpp @@ -73,6 +73,18 @@ Bool DisparityStereoSGBM::create( std::vector apcFrameList ) m_cStereoMatch->setDisp12MaxDiff( 1 ); //m_cStereoMatch->setMode( alg == STEREO_HH ? StereoSGBM::MODE_HH : StereoSGBM::MODE_SGBM ); m_cStereoMatch->setMode( m_bUseHH ? cv::StereoSGBM::MODE_HH :cv::StereoSGBM::MODE_SGBM ); +#else + m_cStereoMatch.preFilterCap = 63; + m_cStereoMatch.SADWindowSize = m_uiBlockSize; + m_cStereoMatch.P1 = 8*cn*sgbm.SADWindowSize*sgbm.SADWindowSize; + m_cStereoMatch.P2 = 32*cn*sgbm.SADWindowSize*sgbm.SADWindowSize; + m_cStereoMatch.minDisparity = 0; + m_cStereoMatch.numberOfDisparities = m_uiNumberOfDisparities; + m_cStereoMatch.uniquenessRatio = 10; + m_cStereoMatch.speckleWindowSize = 100; + m_cStereoMatch.speckleRange = 32; + m_cStereoMatch.disp12MaxDiff = 1; + m_cStereoMatch.fullDP = m_bUseHH ? 1 : 0; #endif return true; } diff --git a/modules/DisparityStereoSGBM.h b/modules/DisparityStereoSGBM.h index 71abd7b..fae9c66 100644 --- a/modules/DisparityStereoSGBM.h +++ b/modules/DisparityStereoSGBM.h @@ -57,6 +57,8 @@ private: UInt m_uiBlockSize; #if( CV_MAJOR_VERSION == 3) cv::Ptr m_cStereoMatch; +#else + StereoSGBM m_cStereoMatch; #endif public: