4
我使用篩入OpenCV的編碼算法從images.My代碼獲取描述符和關鍵點是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);
在這裏我可以得到圖像的關鍵點在矢量<關鍵點>。之後,我希望得到每個KeyPoint的Octave以獲得更多細節。但是當我爲每個圖像關注每個關鍵點八度值時,似乎很奇怪,我想確認它們是否正確。
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
如果我改變SIFT算法SURF算法,它會是好的,似乎是正確的。
0
0
0
0
0
0
1
0
0
0
0
1
1
1
0
1
1
1
0
0
1
0
所以我想問一下SIFT算法中Octave值的計算在opencv中是否正確?
http://code.opencv.org/issues/2987 – Amro 2017-08-01 05:39:56