diff --git a/src/loop_closure_falko.cpp b/src/loop_closure_falko.cpp index af17f231c47ee87beafe6b6db05dc1d6aa28a7b3..d0628a1c46fff951a75a54ed03830c5f90a950ee 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 5afcbd0e0430e8a4390eb19c570315acf3389d1b..d8b21fa99566262561901efd241aa4c68125507e 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); };