0

I have a problem with matching the interests points that I have found with harris detector. I didn't use the built-in functions of harrisDetector in opencv. Instead, I wrote the algorithm.
So, I ended up with the interest points, but I don't know how to describe these x,y coordinate sets with opencv built-in descriptors.

Does anyone know how to describe these interest points of given coordinate sets of an image?

Here's what I tried:

  1. I converted my interest points to keyPoints

    keyPoints.push_back(KeyPoint(InterestPoints[i].x, InterestPoints[i].y, 0.0));
    
  2. Using Surf descriptor

    SurfDescriptorExtractor extractor;
    Mat descriptors_1;
    extractor.compute(src_orig, keyPoints, descriptors_1);
    

But it didn't help me very much. Every time I run the code, it resets my varible keyPoints and gives me nothing.

Thanks for any comments.

Anonymous
  • 11,748
  • 6
  • 35
  • 57
ilker
  • 67
  • 1
  • 10
  • from opencv doc: "Keypoints for which a descriptor cannot be computed are removed." http://docs.opencv.org/modules/features2d/doc/common_interfaces_of_descriptor_extractors.html#descriptorextractor-compute – baci May 04 '14 at 12:22
  • ok, but Mat descriptors_1 is empty to. i think it should filled with sth. – ilker May 04 '14 at 12:28

1 Answers1

2

From opencv doc

Keypoints for which a descriptor cannot be computed are removed.

means if keypoints are all removed, then there should be no descriptors, too. i.e. SURF extractor could not describe your keypoints.

Can you please try to declare keypoints with size different than 0, and maybe with angle, octave and response- not only pointwise; and see if anything changes. Struct keypoint here

The extraction of descriptors of those keypoints is a completely different process than detection. Extraction encodes properties of that feature like its orientation, contrast with neighbours, pyramid level etc. so that it can be compared with other keypoints from different images, different scale and orientation. In short, declaring the feature only as a point may not be enough.

baci
  • 2,528
  • 15
  • 28