OpenCV: cvflann::NNIndex< Distance > Class Template Reference

| OpenCV 3.4.2 Open Source Computer Vision

Public Member Functions | List of all members
cvflann::NNIndex< Distance > Class Template Referenceabstract

`#include "nn_index.h"`

Inheritance diagram for cvflann::NNIndex< Distance >:

## Public Member Functions
virtual | ~NNIndex ()
virtual void | buildIndex ()=0
| Builds the index. More...
virtual void | findNeighbors (ResultSet< DistanceType > &result, const ElementType *vec, const SearchParams &searchParams)=0
| Method that searches for nearest-neighbours. More...
virtual IndexParams | getParameters () const =0
virtual flann_algorithm_t | getType () const =0
virtual void | knnSearch (const Matrix< ElementType > &queries, Matrix< int > &indices, Matrix< DistanceType > &dists, int knn, const SearchParams &params)
| Perform k-nearest neighbor search. More...
virtual void | loadIndex (FILE *stream)=0
| Loads the index from a stream. More...
virtual int | radiusSearch (const Matrix< ElementType > &query, Matrix< int > &indices, Matrix< DistanceType > &dists, float radius, const SearchParams &params)
| Perform radius search. More...
virtual void | saveIndex (FILE *stream)=0
| Saves the index to a stream. More...
virtual size_t | size () const =0
virtual int | usedMemory () const =0
virtual size_t | veclen () const =0

## Detailed Description

### template<typename Distance>
class cvflann::NNIndex< Distance >

Nearest-neighbour index base class

## Constructor & Destructor Documentation

## ◆ ~NNIndex()

template<typename Distance>

virtual cvflann::NNIndex< Distance >::~NNIndex | ( |  | ) |
| inlinevirtual

## Member Function Documentation

## ◆ buildIndex()

template<typename Distance>

virtual void cvflann::NNIndex< Distance >::buildIndex | ( |  | ) |
| pure virtual

Builds the index.

Implemented in cvflann::HierarchicalClusteringIndex< Distance >, cvflann::KMeansIndex< Distance >, cvflann::CompositeIndex< Distance >, cvflann::Index< Distance >, cvflann::Index< cv::L2< ElementType > >, cvflann::Index< cv::L1< ElementType > >, cvflann::KDTreeIndex< Distance >, cvflann::KDTreeSingleIndex< Distance >, cvflann::LshIndex< Distance >, cvflann::AutotunedIndex< Distance >, and cvflann::LinearIndex< Distance >.

## ◆ findNeighbors()

template<typename Distance>

virtual void cvflann::NNIndex< Distance >::findNeighbors | ( | ResultSet< DistanceType > & | result,
|  | const ElementType * | vec,
|  | const SearchParams & | searchParams
| ) |  |
| pure virtual

Method that searches for nearest-neighbours.

Implemented in cvflann::HierarchicalClusteringIndex< Distance >, cvflann::KMeansIndex< Distance >, cvflann::KDTreeSingleIndex< Distance >, cvflann::Index< Distance >, cvflann::Index< cv::L2< ElementType > >, cvflann::Index< cv::L1< ElementType > >, cvflann::LshIndex< Distance >, cvflann::KDTreeIndex< Distance >, cvflann::CompositeIndex< Distance >, cvflann::AutotunedIndex< Distance >, and cvflann::LinearIndex< Distance >.

## ◆ getParameters()

template<typename Distance>

virtual IndexParams cvflann::NNIndex< Distance >::getParameters | ( |  | ) | const
| pure virtual

Returns
  The index parameters

Implemented in cvflann::HierarchicalClusteringIndex< Distance >, cvflann::KMeansIndex< Distance >, cvflann::KDTreeSingleIndex< Distance >, cvflann::KDTreeIndex< Distance >, cvflann::Index< Distance >, cvflann::Index< cv::L2< ElementType > >, cvflann::Index< cv::L1< ElementType > >, cvflann::LshIndex< Distance >, cvflann::CompositeIndex< Distance >, cvflann::AutotunedIndex< Distance >, and cvflann::LinearIndex< Distance >.

## ◆ getType()

template<typename Distance>

virtual flann_algorithm_t cvflann::NNIndex< Distance >::getType | ( |  | ) | const
| pure virtual

Returns
  The index type (kdtree, kmeans,...)

Implemented in cvflann::HierarchicalClusteringIndex< Distance >, cvflann::KMeansIndex< Distance >, cvflann::AutotunedIndex< Distance >, cvflann::Index< Distance >, cvflann::Index< cv::L2< ElementType > >, cvflann::Index< cv::L1< ElementType > >, cvflann::KDTreeIndex< Distance >, cvflann::KDTreeSingleIndex< Distance >, cvflann::LshIndex< Distance >, cvflann::CompositeIndex< Distance >, and cvflann::LinearIndex< Distance >.

## ◆ knnSearch()

template<typename Distance>

virtual void cvflann::NNIndex< Distance >::knnSearch | ( | const Matrix< ElementType > & | queries,
|  | Matrix< int > & | indices,
|  | Matrix< DistanceType > & | dists,
|  | int | knn,
|  | const SearchParams & | params
| ) |  |
| inlinevirtual

Perform k-nearest neighbor search.

Parameters

  [in] | queries | The query points for which to find the nearest neighbors
  [out] | indices | The indices of the nearest neighbors found
  [out] | dists | Distances to the nearest neighbors found
  [in] | knn | Number of nearest neighbors to return
  [in] | params | Search parameters

Reimplemented in cvflann::Index< Distance >, cvflann::Index< cv::L2< ElementType > >, cvflann::Index< cv::L1< ElementType > >, cvflann::KDTreeSingleIndex< Distance >, and cvflann::LshIndex< Distance >.

## ◆ loadIndex()

template<typename Distance>

virtual void cvflann::NNIndex< Distance >::loadIndex | ( | FILE * | stream | ) |
| pure virtual

Loads the index from a stream.

Parameters

  stream | The stream from which the index is loaded

Implemented in cvflann::HierarchicalClusteringIndex< Distance >, cvflann::KMeansIndex< Distance >, cvflann::Index< Distance >, cvflann::Index< cv::L2< ElementType > >, cvflann::Index< cv::L1< ElementType > >, cvflann::CompositeIndex< Distance >, cvflann::KDTreeSingleIndex< Distance >, cvflann::KDTreeIndex< Distance >, cvflann::AutotunedIndex< Distance >, cvflann::LshIndex< Distance >, and cvflann::LinearIndex< Distance >.

## ◆ radiusSearch()

template<typename Distance>

virtual int cvflann::NNIndex< Distance >::radiusSearch | ( | const Matrix< ElementType > & | query,
|  | Matrix< int > & | indices,
|  | Matrix< DistanceType > & | dists,
|  | float | radius,
|  | const SearchParams & | params
| ) |  |
| inlinevirtual

Perform radius search.

Parameters

  [in] | query | The query point
  [out] | indices | The indinces of the neighbors found within the given radius
  [out] | dists | The distances to the nearest neighbors found
  [in] | radius | The radius used for search
  [in] | params | Search parameters

Returns
  Number of neighbors found

Reimplemented in cvflann::Index< Distance >, cvflann::Index< cv::L2< ElementType > >, and cvflann::Index< cv::L1< ElementType > >.

## ◆ saveIndex()

template<typename Distance>

virtual void cvflann::NNIndex< Distance >::saveIndex | ( | FILE * | stream | ) |
| pure virtual

Saves the index to a stream.

Parameters

  stream | The stream to save the index to

Implemented in cvflann::HierarchicalClusteringIndex< Distance >, cvflann::KMeansIndex< Distance >, cvflann::Index< Distance >, cvflann::Index< cv::L2< ElementType > >, cvflann::Index< cv::L1< ElementType > >, cvflann::CompositeIndex< Distance >, cvflann::KDTreeIndex< Distance >, cvflann::KDTreeSingleIndex< Distance >, cvflann::LshIndex< Distance >, cvflann::AutotunedIndex< Distance >, and cvflann::LinearIndex< Distance >.

## ◆ size()

template<typename Distance>

virtual size_t cvflann::NNIndex< Distance >::size | ( |  | ) | const
| pure virtual

Returns
  number of features in this index.

Implemented in cvflann::HierarchicalClusteringIndex< Distance >, cvflann::KMeansIndex< Distance >, cvflann::AutotunedIndex< Distance >, cvflann::KDTreeSingleIndex< Distance >, cvflann::Index< Distance >, cvflann::Index< cv::L2< ElementType > >, cvflann::Index< cv::L1< ElementType > >, cvflann::KDTreeIndex< Distance >, cvflann::LshIndex< Distance >, cvflann::CompositeIndex< Distance >, and cvflann::LinearIndex< Distance >.

## ◆ usedMemory()

template<typename Distance>

virtual int cvflann::NNIndex< Distance >::usedMemory | ( |  | ) | const
| pure virtual

Returns
  The amount of memory (in bytes) used by the index.

Implemented in cvflann::HierarchicalClusteringIndex< Distance >, cvflann::KMeansIndex< Distance >, cvflann::AutotunedIndex< Distance >, cvflann::KDTreeSingleIndex< Distance >, cvflann::Index< Distance >, cvflann::Index< cv::L2< ElementType > >, cvflann::Index< cv::L1< ElementType > >, cvflann::KDTreeIndex< Distance >, cvflann::LshIndex< Distance >, cvflann::CompositeIndex< Distance >, and cvflann::LinearIndex< Distance >.

## ◆ veclen()

template<typename Distance>

virtual size_t cvflann::NNIndex< Distance >::veclen | ( |  | ) | const
| pure virtual

Returns
  The dimensionality of the features in this index.

Implemented in cvflann::HierarchicalClusteringIndex< Distance >, cvflann::KMeansIndex< Distance >, cvflann::AutotunedIndex< Distance >, cvflann::KDTreeSingleIndex< Distance >, cvflann::KDTreeIndex< Distance >, cvflann::Index< Distance >, cvflann::Index< cv::L2< ElementType > >, cvflann::Index< cv::L1< ElementType > >, cvflann::LshIndex< Distance >, cvflann::CompositeIndex< Distance >, and cvflann::LinearIndex< Distance >.

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

- flann/include/opencv2/flann/nn_index.h