diff --git a/src/processor/processor_tracker.cpp b/src/processor/processor_tracker.cpp index d499c26136f499c5c51784c09ff7e8b2ca0d8ff8..bba0f441766ec0d24a40566e40a64cd79dfef2f9 100644 --- a/src/processor/processor_tracker.cpp +++ b/src/processor/processor_tracker.cpp @@ -115,7 +115,8 @@ void ProcessorTracker::processCapture(CaptureBasePtr _incoming_ptr) // Process info // TrackerFeature: We only process new features in Last, here last = nullptr, so we do not have anything to do. // TrackerLandmark: If we have been given a map, all landmarks in the map are known. Process them. - processKnown(); + if (not getProblem()->getMap()->getLandmarkList().empty()) + processKnown(); // Issue KF callback with new KF getProblem()->keyFrameCallback(keyframe, shared_from_this()); @@ -158,7 +159,9 @@ void ProcessorTracker::processCapture(CaptureBasePtr _incoming_ptr) // Process info // TrackerLandmark: If we have been given a map, all landmarks in the map are known. Process them. - processKnown(); + if (not getProblem()->getMap()->getLandmarkList().empty()) + processKnown(); + // Both Trackers: We have a last_ Capture with not enough features, so populate it. processNew(params_tracker_->max_new_features);