I am currently using OpenCV in Python to compare two images.
I am using FAST to detect the key points and BRIEF to get the descriptors. Then using Brute Force Matches to detect if the images are a match.
To reduce the processing time, I am comparing a selected area of interest in one image, to the same area of interest in the second image. To test the method, I compared the same image but selected progressively bigger areas of interest (all areas selected start from the same coordinate points).
Theoretically, as the selected area gets bigger, more key points and feature matches are detected. Therefore, the processing time increases when the dimensions of the selected area increase.
This is true when I test an image with only printed text. However, when I test an “art” image (an image of flowers) the processing time varies from 90ms to 75ms with no relation whatsoever to the dimensions of the area selected.
My initial guess was that this could be due to the CPU running other programs. However, if this were the case, the same fluctuations should be observed for the printed text image. I also attempted to test the art image in grayscale, but it yielded the same scattered results.
Does anyone have an idea of why the processing time might be varying randomly? Is it due to any limitation of the algorithms used?
I would really appreciate the help