From 6e9f846929844b208cd83fb6a10fa87eb0e39908 Mon Sep 17 00:00:00 2001
From: Nicolas Pope <nwpope@utu.fi>
Date: Tue, 5 May 2020 17:39:23 +0300
Subject: [PATCH] Modify stable bits

---
 lib/libstereo/middlebury/algorithms.hpp   | 2 +-
 lib/libstereo/src/algorithms/stablesgm.cu | 2 +-
 lib/libstereo/src/costs/stable.cu         | 4 ++--
 lib/libstereo/src/costs/stable.hpp        | 4 ++--
 4 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/lib/libstereo/middlebury/algorithms.hpp b/lib/libstereo/middlebury/algorithms.hpp
index 8cf989142..a85b5622d 100644
--- a/lib/libstereo/middlebury/algorithms.hpp
+++ b/lib/libstereo/middlebury/algorithms.hpp
@@ -75,7 +75,7 @@ namespace Impl {
 			stereo.params.P2 = P2;
 			stereo.params.subpixel = subpixel;
 			stereo.params.lr_consistency = lr_consistency;
-
+			stereo.params.wsize = 9;
 			stereo.params.d_min = data.calib.vmin;
 			stereo.params.d_max = data.calib.vmax;
 			stereo.params.debug = false;
diff --git a/lib/libstereo/src/algorithms/stablesgm.cu b/lib/libstereo/src/algorithms/stablesgm.cu
index 335ee20d8..3aeb33a52 100644
--- a/lib/libstereo/src/algorithms/stablesgm.cu
+++ b/lib/libstereo/src/algorithms/stablesgm.cu
@@ -25,7 +25,7 @@ void StereoStableSgm::compute(cv::InputArray l, cv::InputArray r, cv::OutputArra
 
 	mat2gray(l, impl_->l);
 	mat2gray(r, impl_->r);
-	impl_->cost.generateFilterMask(params.wsize, 127); // hardcoded in implementation
+	impl_->cost.generateFilterMask(params.wsize, 16); // hardcoded in implementation
 	impl_->cost.set(impl_->l, impl_->r);
 
 	cudaSafeCall(cudaDeviceSynchronize());
diff --git a/lib/libstereo/src/costs/stable.cu b/lib/libstereo/src/costs/stable.cu
index 21db97678..845f99147 100644
--- a/lib/libstereo/src/costs/stable.cu
+++ b/lib/libstereo/src/costs/stable.cu
@@ -93,8 +93,8 @@ void StableMatchingCost::generateFilterMask(const int wsize, const int bits) {
 }
 
 void StableMatchingCost::set(const Array2D<uchar> &l, const Array2D<uchar> &r) {
-	parallel2D<algorithms::Stable<127>>({l.data(), filter_mask_.data(), stable_l_.data(), wsize_, wsize_}, l.width, l.height);
-	parallel2D<algorithms::Stable<127>>({r.data(), filter_mask_.data(), stable_r_.data(), wsize_, wsize_}, r.width, r.height);
+	parallel2D<algorithms::Stable<16>>({l.data(), filter_mask_.data(), stable_l_.data(), wsize_, wsize_}, l.width, l.height);
+	parallel2D<algorithms::Stable<16>>({r.data(), filter_mask_.data(), stable_r_.data(), wsize_, wsize_}, r.width, r.height);
 }
 
 void StableMatchingCost::set(cv::InputArray l, cv::InputArray r) {
diff --git a/lib/libstereo/src/costs/stable.hpp b/lib/libstereo/src/costs/stable.hpp
index bf5ac2b14..ef07929e4 100644
--- a/lib/libstereo/src/costs/stable.hpp
+++ b/lib/libstereo/src/costs/stable.hpp
@@ -6,9 +6,9 @@
 /**
  * STABLE descriptor matching cost
  */
-class StableMatchingCost : public DSBase<impl::HammingCost<127>> {
+class StableMatchingCost : public DSBase<impl::HammingCost<16>> {
 public:
-	typedef impl::HammingCost<127> DataType;
+	typedef impl::HammingCost<16> DataType;
 	typedef DataType::Type Type;
 
 	StableMatchingCost() : DSBase<DataType>(0, 0, 0, 0) {};
-- 
GitLab