From bbe10444a1913bf3dd2fd97face93320a3c3b0b4 Mon Sep 17 00:00:00 2001 From: Nicolas Pope <nwpope@utu.fi> Date: Thu, 4 Apr 2019 09:42:55 +0300 Subject: [PATCH] Fix elas bug and try different parameters --- cv-node/src/algorithms/elas.cpp | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/cv-node/src/algorithms/elas.cpp b/cv-node/src/algorithms/elas.cpp index c2cb3b6b6..990c25b5c 100644 --- a/cv-node/src/algorithms/elas.cpp +++ b/cv-node/src/algorithms/elas.cpp @@ -9,7 +9,16 @@ using cv::Mat; static ftl::Disparity::Register elass("elas", ELAS::create); ELAS::ELAS(nlohmann::json &config) : Disparity(config) { + // TODO(nick) See if these can improve the situation param_.postprocess_only_left = true; + param_.disp_min = 0; + param_.disp_max = config["maximum"]; + param_.add_corners = 0; + param_.gamma = 3; + param_.sradius = 2; + param_.match_texture = 1; + param_.ipol_gap_width = 3; + param_.support_threshold = 0.85; elas_ = new Elas(param_); } @@ -24,7 +33,7 @@ void ELAS::compute(const cv::Mat &l, const cv::Mat &r, cv::Mat &disp) { disp = Mat(cv::Size(l.cols, l.rows), CV_32F); Mat dispr(cv::Size(l.cols, l.rows), CV_32F); - const int32_t dims[3] = {l.cols,l.rows,l.step/sizeof(float)}; + const int32_t dims[3] = {l.cols,l.rows,lbw.step}; if (disp.step/sizeof(float) != lbw.step) LOG(WARNING) << "Incorrect disparity step"; @@ -37,5 +46,3 @@ void ELAS::compute(const cv::Mat &l, const cv::Mat &r, cv::Mat &disp) { //disp.convertTo(disp, CV_32F, 1.0f); } - - -- GitLab