From b216c8ee73fbacbb36a247329adee9783ec56e60 Mon Sep 17 00:00:00 2001 From: Tae-Young Chung Date: Fri, 3 Dec 2021 14:04:45 +0900 Subject: [PATCH] Create cv::StereoSGBM instance with initial values and change parameters values for post-processing Signed-off-by: Tae-Young Chung --- src/dfs_opencv.cpp | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/src/dfs_opencv.cpp b/src/dfs_opencv.cpp index 19e978f..92f628f 100644 --- a/src/dfs_opencv.cpp +++ b/src/dfs_opencv.cpp @@ -183,7 +183,16 @@ namespace DfsAdaptationImpl mMinDisparity >>= mDownScale; mNumDisparities >>= mDownScale; } - mDfsOcv = cv::StereoSGBM::create(mMinDisparity, mNumDisparities, mBlockSize); + mDfsOcv = cv::StereoSGBM::create(mMinDisparity, + mNumDisparities, + mBlockSize, + 0, // P1 + 0, // P2 + 2, // disp12MaxDiff + 0, // preFilterCap + 10, // uniquenessRatio + 50, // speckleWindowSize + 2); // speckleRange this->SetParameters(); @@ -199,8 +208,9 @@ namespace DfsAdaptationImpl mDfsOcvExtra = cv::ximgproc::createRightMatcher(mDfsOcv); mDfsPostOcv->setLRCthresh(24.0); - mDfsPostOcv->setSigmaColor(10.0); + mDfsPostOcv->setSigmaColor(1.5); mDfsPostOcv->setLambda(8000); + mDfsPostOcv->setDepthDiscontinuityRadius((int)ceil(0.5*5)); if (!mDfsOcvExtra) { mThreadPool.reserve(MAX_THREADS_NUM - 1); -- 2.34.1