diff --git a/vision/src/algorithms/opencv_bm.cpp b/vision/src/algorithms/opencv_bm.cpp index acb9793e601f82edcfaac3e9e5b6088a49e25936..203ac37e221e5b086fcf32295dfbc9e09d1e1655 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 9252a4374dfeaeb7efae1e1c87e26776c9f9d0e4..494e6a9ff6f0703750afdafece30f0d157e65667 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);