Solar
Public Member Functions | List of all members
SolAR::MODULES::TOOLS::SolARKeyframeSelector Class Reference

Defines if a frame can be a candidate for a keyframe. UUID: ad59a5ba-beb8-11e8-a355-529269fb1459 More...

#include <SolARKeyframeSelector.h>

Inheritance diagram for SolAR::MODULES::TOOLS::SolARKeyframeSelector:
Inheritance graph
[legend]
Collaboration diagram for SolAR::MODULES::TOOLS::SolARKeyframeSelector:
Collaboration graph
[legend]

Public Member Functions

virtual ~SolARKeyframeSelector () override
 ~SolARKeyframeSelector
 
virtual bool select (const SRef< SolAR::datastructure::Frame > frame, const std::vector< SolAR::datastructure::DescriptorMatch > &matches) const override
 Defines if a frame can be a candidate for a keyframe. More...
 
virtual bool select (const SRef< SolAR::datastructure::Frame > frame) const override
 Select if a frame can be considered as a keyframe. More...
 
virtual bool select (const SRef< SolAR::datastructure::Frame > frame, const std::function< bool(const SRef< SolAR::datastructure::Frame > &)> &func) const override
 Select if a frame can be considered as a keyframe. It is based on a selection predicate and provides the mean to use any datastructure in the pipeline context to the decision algorithm. More...
 
void unloadComponent () override final
 

Detailed Description

Defines if a frame can be a candidate for a keyframe. UUID: ad59a5ba-beb8-11e8-a355-529269fb1459

Properties
minNbMatchesIsKeyframe minimum number of matches for a frame to be a keyframe
type: int; range : [0..MAX INT]; default: 50
minMeanDistanceIsKeyframe minimum mean distance for a frame to be a keyframe
type: float; range : [0..MAX FLOAT]; default: 20.f

Member Function Documentation

◆ select() [1/3]

virtual bool SolAR::MODULES::TOOLS::SolARKeyframeSelector::select ( const SRef< SolAR::datastructure::Frame >  frame) const
overridevirtual

Select if a frame can be considered as a keyframe.

Parameters
[in]framethe frame tested to know if it could be a Keyframe The underlying component can use data from SolAR data storage components, based on the frame properties.
Returns
true if the frame can be considered as a new keyframe, false otherwise.

◆ select() [2/3]

virtual bool SolAR::MODULES::TOOLS::SolARKeyframeSelector::select ( const SRef< SolAR::datastructure::Frame >  frame,
const std::function< bool(const SRef< SolAR::datastructure::Frame > &)> &  func 
) const
overridevirtual

Select if a frame can be considered as a keyframe. It is based on a selection predicate and provides the mean to use any datastructure in the pipeline context to the decision algorithm.

Parameters
[in]framethe frame tested to know if it could be a Keyframe
[in]functhe function predicate used to test the frame. This predicate can be any lambda capturing its context (matches, point cloud, bow ...) to select the frame.
Returns
true if the frame can be considered as a new keyframe, false otherwise.

◆ select() [3/3]

virtual bool SolAR::MODULES::TOOLS::SolARKeyframeSelector::select ( const SRef< SolAR::datastructure::Frame >  frame,
const std::vector< SolAR::datastructure::DescriptorMatch > &  matches 
) const
overridevirtual

Defines if a frame can be a candidate for a keyframe.

Parameters
[in]framethe frame tested to know if it could be a Keyframe
[in]matchesthe matches between the frame and its keyframe of reference.
Returns
true if the frame can be considered as a new keyframe, false otherwise.

The documentation for this class was generated from the following file: