OpenCV  2.4.13
Open Source Computer Vision
cvflann::L2< T > Struct Template Reference

#include <dist.h>

Public Types

typedef True is_kdtree_distance
 
typedef True is_vector_space_distance
 
typedef T ElementType
 
typedef Accumulator< T >::Type ResultType
 

Public Member Functions

template<typename Iterator1 , typename Iterator2 >
ResultType operator() (Iterator1 a, Iterator2 b, size_t size, ResultType worst_dist=-1) const
 
template<typename U , typename V >
ResultType accum_dist (const U &a, const V &b, int) const
 

Detailed Description

template<class T>
struct cvflann::L2< T >

Squared Euclidean distance functor, optimized version

Member Typedef Documentation

template<class T>
typedef T cvflann::L2< T >::ElementType
template<class T>
typedef True cvflann::L2< T >::is_kdtree_distance
template<class T>
typedef True cvflann::L2< T >::is_vector_space_distance
template<class T>
typedef Accumulator<T>::Type cvflann::L2< T >::ResultType

Member Function Documentation

template<class T>
template<typename U , typename V >
ResultType cvflann::L2< T >::accum_dist ( const U &  a,
const V &  b,
int   
) const
inline

Partial euclidean distance, using just one dimension. This is used by the kd-tree when computing partial distances while traversing the tree.

Squared root is omitted for efficiency.

template<class T>
template<typename Iterator1 , typename Iterator2 >
ResultType cvflann::L2< T >::operator() ( Iterator1  a,
Iterator2  b,
size_t  size,
ResultType  worst_dist = -1 
) const
inline

Compute the squared Euclidean distance between two vectors.

This is highly optimised, with loop unrolling, as it is one of the most expensive inner loops.

The computation of squared root at the end is omitted for efficiency.


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