Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ SIFT算法中奇怪的倍频程值?_C++_Opencv_Image Processing_Computer Vision_Sift - Fatal编程技术网

C++ SIFT算法中奇怪的倍频程值?

C++ SIFT算法中奇怪的倍频程值?,c++,opencv,image-processing,computer-vision,sift,C++,Opencv,Image Processing,Computer Vision,Sift,我在opencv代码中使用sift算法从图像中获取描述符和关键点 Ptr<IplImage> image; vector<KeyPoint> keypoints; OutputArray des; Feature2D *descriptor_type = new SIFT() Mat image_mat(image); (*descriptor_type)(image_mat,noArray(),keypoints,des

我在opencv代码中使用sift算法从图像中获取描述符和关键点

    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);
所以我想问一下SIFT算法中倍频程值的计算在opencv中是否正确?

刚刚遇到

似乎筛选关键点的
倍频程
值需要通过“补丁”进行调整:

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
0
0
0
0
0
0
1
0
0
0
0
1
1
1
0
1
1
1
0
0
1
0
keyPoint.octave = keyPoint.octave & 0xFF;