ImFusion SDK 4.3
FeatureDetectorWithAdaptiveThreshold Class Referenceabstract

#include <ImFusion/Vision/FeatureDetection.h>

Feature detection with adaptive thresholding to fill image grid with features. More...

+ Inheritance diagram for FeatureDetectorWithAdaptiveThreshold:

Detailed Description

Feature detection with adaptive thresholding to fill image grid with features.

See class description for algorithm steps.

Classes

struct  KeyPointIterator
 Iterator for traversing keypoints, optionally sorted by response. More...
 

Public Member Functions

 FeatureDetectorWithAdaptiveThreshold ()
 Default constructor.
 
std::vector< KeypointdetectAdaptive (SharedImage &img)
 Runs the detection by iteratively adapting a max number of features and a threshold.
 
virtual bool setMaxFeatures (int v)=0
 Sets the number of maximum features.
 
virtual int maxFeatures () const =0
 Gets the maximum number of features.
 
virtual void setThreshold (double threshold)=0
 Sets the detection threshold.
 
virtual double threshold () const =0
 Gets the detection threshold.
 
virtual std::unique_ptr< KeyPointIteratorinitKeypointIterator (const std::vector< Keypoint > &keypoints)
 Instantiate keypoint iterator, can be overridden for custom sorting.
 
void configure (const Properties *p) override
 Configure parameters from properties.
 
- Public Member Functions inherited from FeatureDetector
virtual std::string name () const =0
 Return name of feature detector.
 
virtual std::vector< Keypointdetect (SharedImage &img)=0
 Run feature detection on provided image.
 
- Public Member Functions inherited from Configurable
virtual void configuration (Properties *p) const
 Serialize the current object configuration into the given Properties object.
 
virtual void configureDefaults ()
 Retrieve the properties of this object, replaces values with their defaults and sets it again.
 
void registerParameter (ParameterBase *param)
 Register the given Parameter or SubProperty, so that it will be configured during configure()/configuration().
 
void unregisterParameter (const ParameterBase *param)
 Remove the given Parameter or SubProperty from the list of registered parameters.
 
 Configurable (const Configurable &rhs)
 
 Configurable (Configurable &&rhs) noexcept
 
Configurableoperator= (const Configurable &)
 
Configurableoperator= (Configurable &&) noexcept
 

Public Attributes

Parameter< bool > p_adaptThreshold = {"Iteratively adapt threshold", false, this}
 Enable adaptive threshold.
 
Parameter< int > p_cellSize = {"Grid cell size", 100, this}
 Size of grid cell for adaptive threshold.
 
Parameter< double > p_minThreshold = {"Minimum threshold", 0.0, this}
 Minimum threshold value.
 
Parameter< double > p_thresholdStep = {"Threshold step", 0.0, this}
 Step size for threshold adaptation.
 
- Public Attributes inherited from Configurable
Signal signalParametersChanged
 Emitted whenever one of the registered Parameters' or SubPropertys' signalValueChanged signal was emitted.
 

Additional Inherited Members

- Protected Attributes inherited from Configurable
std::vector< Paramm_params
 List of all registered Parameter and SubProperty instances.
 

Member Function Documentation

◆ detectAdaptive()

std::vector< Keypoint > detectAdaptive ( SharedImage & img)

Runs the detection by iteratively adapting a max number of features and a threshold.

Parameters
imgSharedImage to detect features in.
Returns
Vector of detected keypoints.

◆ setMaxFeatures()

virtual bool setMaxFeatures ( int v)
pure virtual

Sets the number of maximum features.

Parameters
vMaximum number of features.
Returns
False if not supported.

Implemented in ORBFeatureDetector, and SIFTFeatureDetector.

◆ maxFeatures()

virtual int maxFeatures ( ) const
pure virtual

Gets the maximum number of features.

Returns
Maximum number of features.

Implemented in ORBFeatureDetector, and SIFTFeatureDetector.

◆ setThreshold()

virtual void setThreshold ( double threshold)
pure virtual

Sets the detection threshold.

Parameters
thresholdThreshold value.

Implemented in ORBFeatureDetector, and SIFTFeatureDetector.

◆ threshold()

virtual double threshold ( ) const
pure virtual

Gets the detection threshold.

Returns
Threshold value.

Implemented in ORBFeatureDetector, and SIFTFeatureDetector.

◆ initKeypointIterator()

virtual std::unique_ptr< KeyPointIterator > initKeypointIterator ( const std::vector< Keypoint > & keypoints)
inlinevirtual

Instantiate keypoint iterator, can be overridden for custom sorting.

Parameters
keypointsKeypoints to iterate over.
Returns
Unique pointer to KeyPointIterator.

Reimplemented in ORBFeatureDetector.

◆ configure()

void configure ( const Properties * p)
inlineoverridevirtual

Configure parameters from properties.

Parameters
pProperties to configure from.

Reimplemented from Configurable.


The documentation for this class was generated from the following file:
Search Tab / S to search, Esc to close