Point Cloud Library (PCL)  1.14.1-dev
List of all members | Public Member Functions
pcl::LINEMOD Class Reference

Template matching using the LINEMOD approach. More...

#include <pcl/recognition/linemod.h>

Public Member Functions

 LINEMOD ()
 Constructor. More...
 
virtual ~LINEMOD ()
 Destructor. More...
 
int createAndAddTemplate (const std::vector< QuantizableModality * > &modalities, const std::vector< MaskMap * > &masks, const RegionXY &region)
 Creates a template from the specified data and adds it to the matching queue. More...
 
int addTemplate (const SparseQuantizedMultiModTemplate &linemod_template)
 Adds the specified template to the matching queue. More...
 
void detectTemplates (const std::vector< QuantizableModality * > &modalities, std::vector< LINEMODDetection > &detections) const
 Detects the stored templates in the supplied modality data. More...
 
void detectTemplatesSemiScaleInvariant (const std::vector< QuantizableModality * > &modalities, std::vector< LINEMODDetection > &detections, float min_scale=0.6944444f, float max_scale=1.44f, float scale_multiplier=1.2f) const
 Detects the stored templates in a semi scale invariant manner by applying the detection to multiple scaled versions of the input data. More...
 
void matchTemplates (const std::vector< QuantizableModality * > &modalities, std::vector< LINEMODDetection > &matches) const
 Matches the stored templates to the supplied modality data. More...
 
void setDetectionThreshold (float threshold)
 Sets the detection threshold. More...
 
void setNonMaxSuppression (bool use_non_max_suppression)
 Enables/disables non-maximum suppression. More...
 
void setDetectionAveraging (bool average_detections)
 Enables/disables averaging of close detections. More...
 
const SparseQuantizedMultiModTemplategetTemplate (int template_id) const
 Returns the template with the specified ID. More...
 
std::size_t getNumOfTemplates () const
 Returns the number of stored/trained templates. More...
 
void saveTemplates (const char *file_name) const
 Saves the stored templates to the specified file. More...
 
void loadTemplates (const char *file_name)
 Loads templates from the specified file. More...
 
void loadTemplates (std::vector< std::string > &file_names)
 Loads templates from the specified files. More...
 
void serialize (std::ostream &stream) const
 Serializes the stored templates to the specified stream. More...
 
void deserialize (std::istream &stream)
 Deserializes templates from the specified stream. More...
 

Detailed Description

Template matching using the LINEMOD approach.

Author
Stefan Holzer, Stefan Hinterstoisser

Definition at line 326 of file linemod.h.

Constructor & Destructor Documentation

◆ LINEMOD()

pcl::LINEMOD::LINEMOD ( )

Constructor.

◆ ~LINEMOD()

virtual pcl::LINEMOD::~LINEMOD ( )
virtual

Destructor.

Member Function Documentation

◆ addTemplate()

int pcl::LINEMOD::addTemplate ( const SparseQuantizedMultiModTemplate linemod_template)

Adds the specified template to the matching queue.

Parameters
[in]linemod_templatethe template to add.

◆ createAndAddTemplate()

int pcl::LINEMOD::createAndAddTemplate ( const std::vector< QuantizableModality * > &  modalities,
const std::vector< MaskMap * > &  masks,
const RegionXY region 
)

Creates a template from the specified data and adds it to the matching queue.

Parameters
[in]modalitiesthe modalities used to create the template.
[in]masksthe masks that determine which parts of the modalities are used for creating the template.
[in]regionthe region which will be associated with the template (can be larger than the actual modality-maps).

◆ deserialize()

void pcl::LINEMOD::deserialize ( std::istream &  stream)

Deserializes templates from the specified stream.

Parameters
[in]streamthe stream the templates will be read from.

◆ detectTemplates()

void pcl::LINEMOD::detectTemplates ( const std::vector< QuantizableModality * > &  modalities,
std::vector< LINEMODDetection > &  detections 
) const

Detects the stored templates in the supplied modality data.

Parameters
[in]modalitiesthe modalities that will be used for detection.
[out]detectionsthe destination for the detections.

◆ detectTemplatesSemiScaleInvariant()

void pcl::LINEMOD::detectTemplatesSemiScaleInvariant ( const std::vector< QuantizableModality * > &  modalities,
std::vector< LINEMODDetection > &  detections,
float  min_scale = 0.6944444f,
float  max_scale = 1.44f,
float  scale_multiplier = 1.2f 
) const

Detects the stored templates in a semi scale invariant manner by applying the detection to multiple scaled versions of the input data.

Parameters
[in]modalitiesthe modalities that will be used for detection.
[out]detectionsthe destination for the detections.
[in]min_scalethe minimum scale.
[in]max_scalethe maximum scale.
[in]scale_multiplierthe multiplier for getting from one scale to the next.

◆ getNumOfTemplates()

std::size_t pcl::LINEMOD::getNumOfTemplates ( ) const
inline

Returns the number of stored/trained templates.

Definition at line 420 of file linemod.h.

◆ getTemplate()

const SparseQuantizedMultiModTemplate& pcl::LINEMOD::getTemplate ( int  template_id) const
inline

Returns the template with the specified ID.

Parameters
[in]template_idthe ID of the template to return.

Definition at line 413 of file linemod.h.

◆ loadTemplates() [1/2]

void pcl::LINEMOD::loadTemplates ( const char *  file_name)

Loads templates from the specified file.

Parameters
[in]file_namethe name of the file to load the template from.

◆ loadTemplates() [2/2]

void pcl::LINEMOD::loadTemplates ( std::vector< std::string > &  file_names)

Loads templates from the specified files.

Parameters
[in]file_namesvector of files to load the templates from.

◆ matchTemplates()

void pcl::LINEMOD::matchTemplates ( const std::vector< QuantizableModality * > &  modalities,
std::vector< LINEMODDetection > &  matches 
) const

Matches the stored templates to the supplied modality data.

Parameters
[in]modalitiesthe modalities that will be used for matching.
[out]matchesthe found matches.

◆ saveTemplates()

void pcl::LINEMOD::saveTemplates ( const char *  file_name) const

Saves the stored templates to the specified file.

Parameters
[in]file_namethe name of the file to save the templates to.

◆ serialize()

void pcl::LINEMOD::serialize ( std::ostream &  stream) const

Serializes the stored templates to the specified stream.

Parameters
[in]streamthe stream the templates will be written to.

◆ setDetectionAveraging()

void pcl::LINEMOD::setDetectionAveraging ( bool  average_detections)
inline

Enables/disables averaging of close detections.

Parameters
[in]average_detectionsdetermines whether to average close detections or not.

Definition at line 404 of file linemod.h.

◆ setDetectionThreshold()

void pcl::LINEMOD::setDetectionThreshold ( float  threshold)
inline

Sets the detection threshold.

Parameters
[in]thresholdthe detection threshold.

Definition at line 386 of file linemod.h.

◆ setNonMaxSuppression()

void pcl::LINEMOD::setNonMaxSuppression ( bool  use_non_max_suppression)
inline

Enables/disables non-maximum suppression.

Parameters
[in]use_non_max_suppressiondetermines whether to use non-maximum suppression or not.

Definition at line 395 of file linemod.h.


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