Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

How to convert David Lowe keypoints into OpenCV keypoints?

I want to use siftfast for computing SIFT keypoints.

The Keypoint structure is defined in siftfast.h as:

typedef struct KeypointSt {
    float row, col;             // Subpixel location of keypoint.
    float scale, ori;           // Scale and orientation (range [-PI,PI])
    float descrip[128];     // Vector of descriptor values
    struct KeypointSt *next;    // Pointer to next keypoint in list.
} *Keypoint;

While the consturctor of opencv keypoints is:

KeyPoint (float x, float y, float _size, float _angle=-1, float _response=0, int _octave=0, int _class_id=-1)

Now, I have to find a way to map the siftfast's Keypoint into OpenCV's KeyPoint:

  • row == x
  • col == y

But what about the other values? Can you help me this conversion?