From dfe08295dc3475325f9cb545373de43c791907f3 Mon Sep 17 00:00:00 2001
From: Sebastian Hahta <joseha@utu.fi>
Date: Fri, 12 Apr 2019 15:56:17 +0300
Subject: [PATCH] Removed cvtColor() from middlebury::test(); Algorithm
 implementations should do color conversions when necessary.

Only RTCensus works at this moment (with Middlebury); other algorithms display a black image (possibly sclaing issue?)
---
 vision/src/algorithms/opencv_bm.cpp | 9 ++++++---
 vision/src/middlebury.cpp           | 4 +---
 2 files changed, 7 insertions(+), 6 deletions(-)

diff --git a/vision/src/algorithms/opencv_bm.cpp b/vision/src/algorithms/opencv_bm.cpp
index acb9793e6..203ac37e2 100644
--- a/vision/src/algorithms/opencv_bm.cpp
+++ b/vision/src/algorithms/opencv_bm.cpp
@@ -22,9 +22,12 @@ OpenCVBM::OpenCVBM(nlohmann::json &config) : Disparity(config) {
 void OpenCVBM::compute(const cv::Mat &l, const cv::Mat &r, cv::Mat &disp) {
 	Mat left_disp;
 	Mat right_disp;
-	left_matcher_-> compute(l, r,left_disp);
-    right_matcher_->compute(r,l, right_disp);
-    wls_filter_->filter(left_disp,l,disp,right_disp);
+    Mat lg, rg;
+	cv::cvtColor(l, lg, cv::COLOR_BGR2GRAY);
+	cv::cvtColor(r, rg, cv::COLOR_BGR2GRAY);
+	left_matcher_-> compute(lg, rg,left_disp);
+    right_matcher_->compute(rg, lg, right_disp);
+    wls_filter_->filter(left_disp, l, disp, right_disp);
 }
 
 
diff --git a/vision/src/middlebury.cpp b/vision/src/middlebury.cpp
index 9252a4374..494e6a9ff 100644
--- a/vision/src/middlebury.cpp
+++ b/vision/src/middlebury.cpp
@@ -244,9 +244,7 @@ void ftl::middlebury::test(nlohmann::json &config) {
 	
 	// Run algorithm
 	auto disparity = ftl::Disparity::create(config["disparity"]);
-	cvtColor(l,  l, cv::COLOR_BGR2GRAY);
-    cvtColor(r, r, cv::COLOR_BGR2GRAY);
-        
+    
     Mat disp;
     disparity->compute(l,r,disp);
 	disp.convertTo(disp, CV_32F);
-- 
GitLab