次の単純な行を使用して、画像から SURF 記述子を抽出しています。
Ptr<DescriptorExtractor> descriptor = DescriptorExtractor::create("SURF");
descriptor->compute(im1, kp, desc1);
ここで、変数 desc1.data を「監視」すると、0 から 255 の範囲の整数値が含まれています。
However, when I investigate the values using the code:
for (int j=0;j<desc1.cols; j++){
float a=desc1.at<float>(0,j);
it contains values between -1 and 1. How is that possible? SURF shouldn't return integer values like SIFT?