last update 20 Sep 2009 |
#include <cvrLocationMatch.h>
Public Member Functions | |
parameters () | |
parameters (const parameters &other) | |
~parameters () | |
parameters & | copy (const parameters &other) |
parameters & | operator= (const parameters &other) |
virtual const std::string & | name () const |
virtual parameters * | clone () const |
virtual parameters * | newInstance () const |
virtual bool | write (ioHandler &handler, const bool complete=true) const |
virtual bool | read (ioHandler &handler, const bool complete=true) |
Public Attributes | |
bool | bidirectional |
double | threshold |
eMatchType | matchType |
int | bucketSize |
cvr::locationMatch::locationMatch::parameters::parameters | ( | ) |
cvr::locationMatch::locationMatch::parameters::parameters | ( | const parameters & | other | ) |
Copy constructor.
other | the parameters object to be copied |
Reimplemented from cvr::functor::functor::parameters.
cvr::locationMatch::locationMatch::parameters::~parameters | ( | ) | [virtual] |
virtual parameters* cvr::locationMatch::locationMatch::parameters::clone | ( | ) | const [virtual] |
parameters& cvr::locationMatch::locationMatch::parameters::copy | ( | const parameters & | other | ) |
Copy the contents of a parameters object.
other | the parameters object to be copied |
virtual const std::string& cvr::locationMatch::locationMatch::parameters::name | ( | ) | const [virtual] |
virtual parameters* cvr::locationMatch::locationMatch::parameters::newInstance | ( | ) | const [virtual] |
Returns a pointer to a new instance of the parameters.
Implements cvr::functor::functor::parameters.
parameters& cvr::locationMatch::locationMatch::parameters::operator= | ( | const parameters & | other | ) |
Copy the contents of a parameters object.
other | the parameters object to be copied |
virtual bool cvr::locationMatch::locationMatch::parameters::read | ( | ioHandler & | handler, | |
const bool | complete = true | |||
) | [virtual] |
Read the parameters from the given ioHandler.
handler | the ioHandler to be used | |
complete | if true (the default) the enclosing begin/end will be also written, otherwise only the data block will be written. |
Reimplemented from cvr::parametersManager::parametersManager::parameters.
virtual bool cvr::locationMatch::locationMatch::parameters::write | ( | ioHandler & | handler, | |
const bool | complete = true | |||
) | const [virtual] |
Write the parameters in the given ioHandler.
handler | the ioHandler to be used | |
complete | if true (the default) the enclosing begin/end will be also written, otherwise only the data block will be written. |
Reimplemented from cvr::parametersManager::parametersManager::parameters.
bool cvr::locationMatch::locationMatch::parameters::bidirectional |
Bidirectional match.
The match process can be unidirectional, in which the closest descriptor in the second image is searched for each descriptor in the first image (set this attribute to false
). It can also be bidirectional, which means that a match is found only if the descriptor of the second image is the closest to the one of the first image and the descriptor in the first image is the closest to the one in the second image.
Note that the bidirectional is slower, but more robust.
Default value: true
int cvr::locationMatch::locationMatch::parameters::bucketSize |
Bucket size.
If the match method is set to KdTreeBased then the trees build will use "buckets" of the given size, which means that at each leaf, the given number of elements are stored, implying linear search for that size. The experience tells that setting this value to 1 (a pure tree) is not very efficient, since the time to create the tree will simply be too high. The maximum efficiency is achieved usually with buckets of 16 to 32 elements.
Default value: 32
eMatchType cvr::locationMatch::locationMatch::parameters::matchType |
Algorithm used for the match.
You can choose between several algorithms to perform the match. The straightforward method is based on a linear search, while more elaborate methods use a kd-tree. Use the second if the set of locations is too large size.
Default value: LinearSearch
double cvr::locationMatch::locationMatch::parameters::threshold |
Threshold distance.
The distance between two descriptors must be less than this threshold. This means, the higher the given value, the greater the number of matches detected. For lower values, just the most similar locations are detected.
Note that the threshold is an absolute value, whose range will depend on the distances between points found by the other classes.
Default value: 1.0