Ask Your Question

Revision history [back]

After three years, anyone who visited this thread, NOTICE DO NoT use the solution in the recommended answer!

normalize image intensity with 1.0/255.0 will cause vlfeat SIFT detection failed for most of the keypoints! much less than opencv sift. [0,1] obviously is a too small range, it might cause some machine precision problem. Just:

img.convertTo(toFloat,CV_32F);

Use image intensity range [0,255.0] for feature detection. After fall in their 1.0/255.0 trap, I struggle for a long time to find this bug. Now my code can detect even more keypoints than opencv.

Hope can help people who has the same problem