From 9e1e17d3bf69a1cfd0890c2d4626ade351fa8efe Mon Sep 17 00:00:00 2001 From: Sergi Pujol <sergi.pujol.badell@estudiantat.upc.edu> Date: Mon, 15 Feb 2021 15:53:21 +0100 Subject: [PATCH] function matchLoopClosurePtr implemented --- src/loop_closure_falko.cpp | 17 +++++++++++++++-- src/loop_closure_falko.h | 2 +- 2 files changed, 16 insertions(+), 3 deletions(-) diff --git a/src/loop_closure_falko.cpp b/src/loop_closure_falko.cpp index af17f23..d0628a1 100644 --- a/src/loop_closure_falko.cpp +++ b/src/loop_closure_falko.cpp @@ -56,8 +56,21 @@ namespace laserscanutils{ } template <typename D,typename Extr, typename M> - typename loopClosureFalko<D,Extr, M>::matchLoopClosurePtr matchScene(std::shared_ptr<sceneFalko<D>> scene1,LaserScanParams &scanParams){ - + typename loopClosureFalko<D,Extr, M>::matchLoopClosurePtr matchScene(std::shared_ptr<sceneFalko<D>> scene1,std::shared_ptr<sceneFalko<D>> scene2){ + std::vector<std::pair<int, int> > assoNN; + int matching_number = match(scene1->keypointsList,scene2->keypointsList, assoNN); + auto new_match=std::make_shared<matchLoopClosure<D>>(); + new_match-> keypointsNumberMatch = matching_number; + int keypoints_number_th=5; + if (matching_number>keypoints_number_th){ + new_match-> match = true; + } else { + new_match-> match = false; + } + new_match -> sceneTuple[0] = scene1; + new_match -> sceneTuple[1] = scene2; + + return new_match; } //void findLoopClosure(std::list<sceneFalko>& scenes, const cornerScene newScene){} diff --git a/src/loop_closure_falko.h b/src/loop_closure_falko.h index 5afcbd0..d8b21fa 100644 --- a/src/loop_closure_falko.h +++ b/src/loop_closure_falko.h @@ -79,7 +79,7 @@ public: /** \brief Convert scans from laserscanutils::LaserScan to falkolib::LaserScan object **/ - matchLoopClosurePtr matchScene(sceneFalkoBSCPtr scene1 ,LaserScanParams &scanParams); + matchLoopClosurePtr matchScene(sceneFalkoBSCPtr scene1 ,std::shared_ptr<sceneFalko<D>> scene2); }; -- GitLab