I am using OpenCV SURF for comparing two images using Visual C++. I have been able to successfully develop the application and build the exe.
Now I am facing a strange problem. The number of matches I get while running the program from IDE (Visual Studio) is different than the number of matches I get when running the exe.
I think this has some thing to do with floating point numbers as they behave weirdly as mentioned in this article.
Why does this floating-point calculation give different results on different machines?
I checked the OpenCV SURF implementation. Over there, the SURF descriptors are calculated by float (CV_32F) and hence they are causing floating point comparison accuracy error.
How do I resolve this error?