action #2692

speed up needle matching

Added by lnussel about 7 years ago. Updated about 3 years ago.

Target version:
Start date:
Due date:
% Done:


Estimated time:
(Total: 3.00 h)


right now we walk through all areas in all needles and match each area one by one against the screenshot. We have to convert both the match area as well as the screenshot to opencv's internal format for every match. To speed this up all match areas could be collected and passed to the C++ opencv adapter at once so it only need to do the conversion once and one bulk result is returned.


action #2856: Makes the margin related with the needleResolvedaplanas


#1 Updated by coolo about 7 years ago

the tinycv images are already read into the needle->{'img'} and even already extracted as area->{'img'} and this tinycv is an opencv structure. So there is nothing to gain here - we could cache some preprocessing, but it's really fast operations that do the thing

#2 Updated by aplanas about 7 years ago

  • Assignee set to aplanas

Will check if there is room for improvement:

  • caching some operations (blur and color conversion)
  • matching smaller areas (crop the large image around the original area of the needle)

#3 Updated by aplanas about 7 years ago

  • Status changed from New to In Progress

Initial optimization here:

This goes from ~0.15 +-0.02. per match to ~0.03 +-0.01

A better one is to put the full search() perl code in C++. I will address it now.

#4 Updated by aplanas about 7 years ago

Use a linear model to extend the search area.

#5 Updated by aplanas about 7 years ago

  • Status changed from In Progress to Resolved

#6 Updated by okurz about 3 years ago

  • Target version changed from future to future

Also available in: Atom PDF