OpenCV: cvflann::lsh::LshTable< ElementType > Class Template Reference

| OpenCV 3.4.2 Open Source Computer Vision

Public Types | Public Member Functions | List of all members
cvflann::lsh::LshTable< ElementType > Class Template Reference

`#include "lsh_table.h"`

## Public Types
typedef std::map< BucketKey, Bucket > | BucketsSpace
typedef std::vector< Bucket > | BucketsSpeed

## Public Member Functions
| LshTable ()
| LshTable (unsigned int feature_size, unsigned int key_size)
template<>
| LshTable (unsigned int feature_size, unsigned int subsignature_size)
void | add (unsigned int value, const ElementType *feature)
void | add (Matrix< ElementType > dataset)
const Bucket * | getBucketFromKey (BucketKey key) const
size_t | getKey (const ElementType *) const
template<>
size_t | getKey (const unsigned char *feature) const
LshStats | getStats () const
template<>
LshStats | getStats () const

## Detailed Description

### template<typename ElementType>
class cvflann::lsh::LshTable< ElementType >

Lsh hash table. As its key is a sub-feature, and as usually the size of it is pretty small, we keep it as a continuous memory array. The value is an index in the corpus of features (we keep it as an unsigned int for pure memory reasons, it could be a size_t)

## Member Typedef Documentation

## ◆ BucketsSpace

template<typename ElementType>

typedef std::map<BucketKey, Bucket> cvflann::lsh::LshTable< ElementType >::BucketsSpace

A container of all the feature indices. Optimized for space

## ◆ BucketsSpeed

template<typename ElementType>

typedef std::vector<Bucket> cvflann::lsh::LshTable< ElementType >::BucketsSpeed

A container of all the feature indices. Optimized for speed

## Constructor & Destructor Documentation

## ◆ LshTable() [1/3]

template<typename ElementType>

cvflann::lsh::LshTable< ElementType >::LshTable | ( |  | ) |
| inline

Default constructor

## ◆ LshTable() [2/3]

template<typename ElementType>

cvflann::lsh::LshTable< ElementType >::LshTable | ( | unsigned int | feature_size,
|  | unsigned int | key_size
| ) |  |
| inline

Default constructor Create the mask and allocate the memory

Parameters

  feature_size | is the size of the feature (considered as a ElementType[])
  key_size | is the number of bits that are turned on in the feature

## ◆ LshTable() [3/3]

template<>

cvflann::lsh::LshTable< unsigned char >::LshTable | ( | unsigned int | feature_size,
|  | unsigned int | subsignature_size
| ) |  |
| inline

## Member Function Documentation

## ◆ add() [1/2]

template<typename ElementType>

void cvflann::lsh::LshTable< ElementType >::add | ( | unsigned int | value,
|  | const ElementType * | feature
| ) |  |
| inline

Add a feature to the table

Parameters

  value | the value to store for that feature
  feature | the feature itself

## ◆ add() [2/2]

template<typename ElementType>

void cvflann::lsh::LshTable< ElementType >::add | ( | Matrix< ElementType > | dataset | ) |
| inline

Add a set of features to the table

Parameters

  dataset | the values to store

## ◆ getBucketFromKey()

template<typename ElementType>

const Bucket* cvflann::lsh::LshTable< ElementType >::getBucketFromKey | ( | BucketKey | key | ) | const
| inline

Get a bucket given the key

Parameters

  key |

Returns

## ◆ getKey() [1/2]

template<typename ElementType>

size_t cvflann::lsh::LshTable< ElementType >::getKey | ( | const ElementType * |  | ) | const
| inline

Compute the sub-signature of a feature

## ◆ getKey() [2/2]

template<>

size_t cvflann::lsh::LshTable< unsigned char >::getKey | ( | const unsigned char * | feature | ) | const
| inline

Return the Subsignature of a feature

Parameters

  feature | the feature to analyze

## ◆ getStats() [1/2]

template<typename ElementType>

LshStats cvflann::lsh::LshTable< ElementType >::getStats | ( |  | ) | const

Get statistics about the table

Returns

## ◆ getStats() [2/2]

template<>

LshStats cvflann::lsh::LshTable< unsigned char >::getStats | ( |  | ) | const
| inline

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

- flann/include/opencv2/flann/lsh_table.h