Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

Your approach should work fine. So, in your set-up sth must be wrong. And yes, this is definitely possible with OpenCV. If you'd like to get the maximum performance build your index with the original-flann from with OpenMP-support and use OpenCV's GPU::SURF module (

However note that depending on the number of SURF descriptors (which depend of course on the SURF-settings and the size of the images and their content) you'll have to do many comparisons and a lot of memory to build your flann-index. So, I suggest to go a different way and compute a single descriptor for your images either by a global image descriptor (see e.g. or by the usage of a bag-of-words-descriptor (see The drawback of the bag-of-words-descriptor is that you need to build a vocabulary first which will also take quite a while for such a database. However the results should be definitely better with less false positives and the cool thing with a global image descriptor is that you can use it for classification tasks.