From 0c8b1423295b1601a227104596fe220aff163de0 Mon Sep 17 00:00:00 2001 From: Nicolas Pope <nwpope@utu.fi> Date: Wed, 19 Jun 2019 10:55:41 +0300 Subject: [PATCH] Correction to variance --- applications/registration/src/correspondances.cpp | 8 +++++--- applications/registration/src/manual.cpp | 5 ----- 2 files changed, 5 insertions(+), 8 deletions(-) diff --git a/applications/registration/src/correspondances.cpp b/applications/registration/src/correspondances.cpp index e5ca8a914..d3b52e856 100644 --- a/applications/registration/src/correspondances.cpp +++ b/applications/registration/src/correspondances.cpp @@ -61,13 +61,15 @@ static void averageDepth(vector<Mat> &in, Mat &out, float varThresh) { for (int i_in = 0; i_in < in.size(); ++i_in) { float d = in[i_in].at<float>(i); if (d < 40.0f) { - float delta = d - sum; + float delta = (d*1000.0f - sum*1000.0f); var += delta*delta; } } if (good_values > 1) var /= (good_values-1); else var = 0.0f; + //LOG(INFO) << "VAR " << var; + if (var < varThresh) { out.at<float>(i) = sum; } else { @@ -121,8 +123,8 @@ bool Correspondances::capture(cv::Mat &rgb1, cv::Mat &rgb2) { std::this_thread::sleep_for(std::chrono::milliseconds(50)); } - averageDepth(buffer[0], d1, 1.0f); - averageDepth(buffer[1], d2, 1.0f); + averageDepth(buffer[0], d1, 0.00000005f); + averageDepth(buffer[1], d2, 0.00000005f); Mat d1_v, d2_v; d1.convertTo(d1_v, CV_8U, 255.0f / 10.0f); d2.convertTo(d2_v, CV_8U, 255.0f / 10.0f); diff --git a/applications/registration/src/manual.cpp b/applications/registration/src/manual.cpp index 543cb8ef6..aa86e1f0e 100644 --- a/applications/registration/src/manual.cpp +++ b/applications/registration/src/manual.cpp @@ -184,10 +184,6 @@ void ftl::registration::manual(ftl::Configurable *root) { bool insearch = false; Correspondances *current = corrs[sources[curtarget]->getURI()]; - - // Features for current frame... - vector<tuple<int,int,int,int>> feat; - vector<std::pair<pcl::PointXYZ, pcl::PointXYZ>> pclfeat; while (ftl::running) { if (!freeze) { @@ -299,7 +295,6 @@ void ftl::registration::manual(ftl::Configurable *root) { } else if (key == 'g') { if (!insearch) { insearch = true; - LOG(INFO) << "Features matched = " << feat.size(); ftl::pool.push([&lastScore,&insearch,current](int id) { LOG(INFO) << "START"; -- GitLab