Strange Octave value in SIFT algorithm? [closed]
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?
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 .