BruteForceMatcher<L2<float> > repeats sometimes wrong distances (Bug #1548)
Description
Hello,
I use the Opencv-2.3.1a library, compiled with SSE, SSE2, SSSE3, cuda and qt, Ubuntu10.04 and have a intel quad core Q9650.
I used the BruteForceMatcher<L2<float> > and its method match.
I observed that for several requests where to identical vectors were in the query and training set, that they weren't matched with distance 0. I tried some more examples, using only one vector for query and training (the same one), and achieved distances form -nan to 0 and some small >0 like 0.000247 (for example).
Then I tried the same binary from my code on several other machines also having Opencv-2.3.1 (I don't know which configurations were used) and it worked out fine there.
Is there an other dependent library on my machine broken?
If I use BruteForceMatcher<L2<double> > all is fine, also for <L1<float> > there seems to be no problem.
Associated revisions
Merge pull request #1548 from ilya-lavrenov:ocl_bitwise_not
History
Updated by Alexander Shishkov about 13 years ago
- Description changed from Hello, I use the Opencv-2.3.1a library, compiled with SSE, SSE2, SSSE3, cuda ... to Hello, I use the Opencv-2.3.1a library, compiled with SSE, SSE2, SSSE3, cuda ... More
Updated by Vadim Pisarevsky almost 13 years ago
We have had a few bug reports from Ubuntu 10.04 users, especially in the case of 64-bit version. Probably, there is some bug in 64-bit gcc backend. Please, try newer version. Also, in SVN trunk BruteForceMatcher<L2<float>> has been replaced with non-template BFMatcher(NORM_L2). Feel free to try it out.
Also, some problems can be due to the optional Eigen use in L2 matcher. If you configured OpenCV to use Eigen, try to re-configure it without Eigen.
So far, I mark this bug as cancelled. Reopen it, if the issue remains with newer compilers and the latest OpenCV.
- Status changed from Open to Cancelled
- Assignee changed from Maria Dimashova to Vadim Pisarevsky
Updated by Andrey Kamaev almost 13 years ago
- Target version set to 2.4.0