Using the resulting int vector from selectPairs in FREAK

asked 2013-01-11 15:54:28 -0500

gary gravatar image

Hi, I'm trying to use FREAK as an image stabilizer. I have an array of greyscale Mats, and I'm calling selectPairs on them in an attempt to get the best possible matching keypoints.

What do I do now that I have these int vector pairs? I'm not sure I understand what the indexes in this pairs vector correlate to. The values range up to 500 and up. They don't seem to match indexes of any vectors that I have, eg my points vector, etc. Here's a code snippet:

vector<Mat> mats;
vector<vector<KeyPoint> points;

GFTTDetector *detector = new GFTTDetector();
for (int i = 0; i < imageCount; i++) {

    // I get curMat here ...

    mats.push_back(curMat);

    vector<KeyPoint> curKeyPoints;
    detector->detect(curMat, curKeyPoints);
    points.push_back(curKeyPoints);
}

FREAK *freak = new FREAK(true, true, 22.0f, 4);
vector<int> pairs = freak->selectPairs(mats, keypoints, 0.8, false);

... ?

//(now what?)

Thank you!

edit retag flag offensive close merge delete