Loading...
Searching...
No Matches

Abstract base class for training the bag of visual words vocabulary from a set of descriptors. More...

#include <opencv2/features2d.hpp>

Inheritance diagram for cv::BOWTrainer:
cv::BOWKMeansTrainer

Public Member Functions

 BOWTrainer ()
 
virtual ~BOWTrainer ()
 
void add (const Mat &descriptors)
 Adds descriptors to a training set.
 
virtual void clear ()
 
virtual Mat cluster () const =0
 
virtual Mat cluster (const Mat &descriptors) const =0
 Clusters train descriptors.
 
int descriptorsCount () const
 Returns the count of all descriptors stored in the training set.
 
const std::vector< Mat > & getDescriptors () const
 Returns a training set of descriptors.
 

Protected Attributes

std::vector< Matdescriptors
 
int size
 

Detailed Description

Abstract base class for training the bag of visual words vocabulary from a set of descriptors.

For details, see, for example, Visual Categorization with Bags of Keypoints by Gabriella Csurka, Christopher R. Dance, Lixin Fan, Jutta Willamowski, Cedric Bray, 2004. :

Constructor & Destructor Documentation

◆ BOWTrainer()

cv::BOWTrainer::BOWTrainer ( )

◆ ~BOWTrainer()

virtual cv::BOWTrainer::~BOWTrainer ( )
virtual

Member Function Documentation

◆ add()

void cv::BOWTrainer::add ( const Mat descriptors)

Adds descriptors to a training set.

Parameters
descriptorsDescriptors to add to a training set. Each row of the descriptors matrix is a descriptor.

The training set is clustered using clustermethod to construct the vocabulary.

◆ clear()

virtual void cv::BOWTrainer::clear ( )
virtual

◆ cluster() [1/2]

virtual Mat cv::BOWTrainer::cluster ( ) const
pure virtual

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Implemented in cv::BOWKMeansTrainer.

◆ cluster() [2/2]

virtual Mat cv::BOWTrainer::cluster ( const Mat descriptors) const
pure virtual

Clusters train descriptors.

Parameters
descriptorsDescriptors to cluster. Each row of the descriptors matrix is a descriptor. Descriptors are not added to the inner train descriptor set.

The vocabulary consists of cluster centers. So, this method returns the vocabulary. In the first variant of the method, train descriptors stored in the object are clustered. In the second variant, input descriptors are clustered.

Implemented in cv::BOWKMeansTrainer.

◆ descriptorsCount()

int cv::BOWTrainer::descriptorsCount ( ) const

Returns the count of all descriptors stored in the training set.

◆ getDescriptors()

const std::vector< Mat > & cv::BOWTrainer::getDescriptors ( ) const

Returns a training set of descriptors.

Member Data Documentation

◆ descriptors

std::vector<Mat> cv::BOWTrainer::descriptors
protected

◆ size

int cv::BOWTrainer::size
protected

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