Strange Octave value in SIFT algorithm? [closed]

asked 2013-04-24 02:44:02 -0500

zhfkt gravatar image

Hi,

I am using sift algorithm in opencv code to get descriptors and keypoints from images.My code is

    Ptr<IplImage> image;
    vector<KeyPoint> keypoints;
    OutputArray des;

    Feature2D *descriptor_type = new SIFT()
    Mat image_mat(image);
    (*descriptor_type)(image_mat,noArray(),keypoints,des,false);

Here I can get the keypoints of the image in vector < KeyPoint > .After that,I want to get the Octave of each KeyPoint for more details .But when I cout each keypoint octave value for one image,it seems so strange that I want to confirm whether they are right.

for(int i=0;i<keypoints.size();i++)
{
     cout<< (keypoints[i].octave) <<endl;
}

9765375
9765375
2621951
8323583
13763071
6488575
12845567
721407
3604991
12321279
9568767
7406079
8585727
4653567
7799295
7799295
5112319
10486271
9961983
6226431
1245951

and if I change SIFT algorithm to SURF algorithm,it will be OK and seem right.

0
0
0
0
0
0
1
0
0
0
0
1
1
1
0
1
1
1
0
0
1
0

So I want to ask whether the calculation of Octave in SIFT algorithm is right in opencv?

edit retag flag offensive reopen merge delete

Closed for the following reason duplicate question by Guanta
close date 2013-04-24 06:41:20.744476

Comments

Seems you are not the only one, having this problem, see: http://answers.opencv.org/question/12049/sift-octave-bug/ --> closed due to duplicate question. However thanks for reporting, maybe you want to write at this post that you have the same problem. If the issue hasn't reported yet, then please create a bugreport at http://code.opencv.org/projects/opencv/issues/new .

Guanta gravatar imageGuanta ( 2013-04-24 06:40:46 -0500 )edit