| OpenCV 4.3.0 Open Source Computer Vision

Public Member Functions | Protected Attributes | List of all members
cv::BOWTrainer Class Referenceabstract
2D Features Framework » Object Categorization

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:

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

## Protected Attributes
std::vector< Mat > | descriptors
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 | ) |

Python:
| None | = | cv.BOWTrainer.add( | descriptors | )

Adds descriptors to a training set.

Parameters

  descriptors | Descriptors 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

Python:
| None | = | cv.BOWTrainer.clear( |  | )

## ◆ cluster() [1/2]

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

Python:
| retval | = | cv.BOWTrainer.cluster( |  | )
| retval | = | cv.BOWTrainer.cluster( | descriptors | )

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

Python:
| retval | = | cv.BOWTrainer.cluster( |  | )
| retval | = | cv.BOWTrainer.cluster( | descriptors | )

Clusters train descriptors.

Parameters

  descriptors | Descriptors 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

Python:
| retval | = | cv.BOWTrainer.descriptorsCount( |  | )

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

## ◆ getDescriptors()

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

Python:
| retval | = | cv.BOWTrainer.getDescriptors( |  | )

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:

- opencv2/features2d.hpp