Class to compute an image descriptor using the bag of visual words.
More...
#include <opencv2/features2d.hpp>
|
| BOWImgDescriptorExtractor (const Ptr< DescriptorMatcher > &dmatcher) |
|
| BOWImgDescriptorExtractor (const Ptr< Feature2D > &dextractor, const Ptr< DescriptorMatcher > &dmatcher) |
| The constructor.
|
|
virtual | ~BOWImgDescriptorExtractor () |
|
void | compute (InputArray image, std::vector< KeyPoint > &keypoints, OutputArray imgDescriptor, std::vector< std::vector< int > > *pointIdxsOfClusters=0, Mat *descriptors=0) |
| Computes an image descriptor using the set visual vocabulary.
|
|
void | compute (InputArray keypointDescriptors, OutputArray imgDescriptor, std::vector< std::vector< int > > *pointIdxsOfClusters=0) |
|
void | compute2 (const Mat &image, std::vector< KeyPoint > &keypoints, Mat &imgDescriptor) |
|
int | descriptorSize () const |
| Returns an image descriptor size if the vocabulary is set. Otherwise, it returns 0.
|
|
int | descriptorType () const |
| Returns an image descriptor type.
|
|
const Mat & | getVocabulary () const |
| Returns the set vocabulary.
|
|
void | setVocabulary (const Mat &vocabulary) |
| Sets a visual vocabulary.
|
|
Class to compute an image descriptor using the bag of visual words.
Such a computation consists of the following steps:
- Compute descriptors for a given image and its keypoints set.
- Find the nearest visual words from the vocabulary for each keypoint descriptor.
- Compute the bag-of-words image descriptor as is a normalized histogram of vocabulary words encountered in the image. The i-th bin of the histogram is a frequency of i-th word of the vocabulary in the given image.
◆ BOWImgDescriptorExtractor() [1/2]
Python: |
---|
| cv.BOWImgDescriptorExtractor( | dextractor, dmatcher | ) -> | <BOWImgDescriptorExtractor object> |
The constructor.
- Parameters
-
dextractor | Descriptor extractor that is used to compute descriptors for an input image and its keypoints. |
dmatcher | Descriptor matcher that is used to find the nearest word of the trained vocabulary for each keypoint descriptor of the image. |
◆ BOWImgDescriptorExtractor() [2/2]
cv::BOWImgDescriptorExtractor::BOWImgDescriptorExtractor |
( |
const Ptr< DescriptorMatcher > & | dmatcher | ) |
|
Python: |
---|
| cv.BOWImgDescriptorExtractor( | dextractor, dmatcher | ) -> | <BOWImgDescriptorExtractor object> |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
◆ ~BOWImgDescriptorExtractor()
virtual cv::BOWImgDescriptorExtractor::~BOWImgDescriptorExtractor |
( |
| ) |
|
|
virtual |
◆ compute() [1/2]
void cv::BOWImgDescriptorExtractor::compute |
( |
InputArray | image, |
|
|
std::vector< KeyPoint > & | keypoints, |
|
|
OutputArray | imgDescriptor, |
|
|
std::vector< std::vector< int > > * | pointIdxsOfClusters = 0, |
|
|
Mat * | descriptors = 0 ) |
Computes an image descriptor using the set visual vocabulary.
- Parameters
-
image | Image, for which the descriptor is computed. |
keypoints | Keypoints detected in the input image. |
imgDescriptor | Computed output image descriptor. |
pointIdxsOfClusters | Indices of keypoints that belong to the cluster. This means that pointIdxsOfClusters[i] are keypoint indices that belong to the i -th cluster (word of vocabulary) returned if it is non-zero. |
descriptors | Descriptors of the image keypoints that are returned if they are non-zero. |
◆ compute() [2/2]
void cv::BOWImgDescriptorExtractor::compute |
( |
InputArray | keypointDescriptors, |
|
|
OutputArray | imgDescriptor, |
|
|
std::vector< std::vector< int > > * | pointIdxsOfClusters = 0 ) |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
- Parameters
-
keypointDescriptors | Computed descriptors to match with vocabulary. |
imgDescriptor | Computed output image descriptor. |
pointIdxsOfClusters | Indices of keypoints that belong to the cluster. This means that pointIdxsOfClusters[i] are keypoint indices that belong to the i -th cluster (word of vocabulary) returned if it is non-zero. |
◆ compute2()
void cv::BOWImgDescriptorExtractor::compute2 |
( |
const Mat & | image, |
|
|
std::vector< KeyPoint > & | keypoints, |
|
|
Mat & | imgDescriptor ) |
|
inline |
Python: |
---|
| cv.BOWImgDescriptorExtractor.compute( | image, keypoints[, imgDescriptor] | ) -> | imgDescriptor |
◆ descriptorSize()
int cv::BOWImgDescriptorExtractor::descriptorSize |
( |
| ) |
const |
Python: |
---|
| cv.BOWImgDescriptorExtractor.descriptorSize( | | ) -> | retval |
Returns an image descriptor size if the vocabulary is set. Otherwise, it returns 0.
◆ descriptorType()
int cv::BOWImgDescriptorExtractor::descriptorType |
( |
| ) |
const |
Python: |
---|
| cv.BOWImgDescriptorExtractor.descriptorType( | | ) -> | retval |
Returns an image descriptor type.
◆ getVocabulary()
const Mat & cv::BOWImgDescriptorExtractor::getVocabulary |
( |
| ) |
const |
Python: |
---|
| cv.BOWImgDescriptorExtractor.getVocabulary( | | ) -> | retval |
Returns the set vocabulary.
◆ setVocabulary()
void cv::BOWImgDescriptorExtractor::setVocabulary |
( |
const Mat & | vocabulary | ) |
|
Python: |
---|
| cv.BOWImgDescriptorExtractor.setVocabulary( | vocabulary | ) -> | None |
Sets a visual vocabulary.
- Parameters
-
vocabulary | Vocabulary (can be trained using the inheritor of BOWTrainer ). Each row of the vocabulary is a visual word (cluster center). |
◆ dextractor
◆ dmatcher
◆ vocabulary
Mat cv::BOWImgDescriptorExtractor::vocabulary |
|
protected |
The documentation for this class was generated from the following file: