I'm looking at some quite confused (at least for me) openCV code and questioning myself how it's working.
The question starts [here](https://github.com/Itseez/opencv/blob/master/modules/features2d/src/bagofwords.cpp#L173).
The link shows the implementation of
BOWImgDescriptorExtractor::compute
which uses the function
DescriptorMatcher::match
at [line 181](https://github.com/Itseez/opencv/blob/master/modules/features2d/src/bagofwords.cpp#L181).
The calculation time is quite fast and I'm asking myself how openCV archives that? How does function match links the nearest cluster to a given descriptor? In detail, how is [std::vector< DMatch > matches](https://github.com/Itseez/opencv/blob/master/modules/features2d/src/bagofwords.cpp#L180) getting filled so fast?
↧