-1

I am using OpenCV for image recognition and I want to know whether the rotation invariance of cv::SIFT is achieved due to it's detector cv::SiftFeatureDetector or due to it's descriptor cv::SiftDescriptorExtractor. Same thing for SURF.

BrainabilGH
  • 464
  • 5
  • 15

1 Answers1

0

This answer is with respect to SIFT. Going through point 1 and 4 THIS PAGE clears things up.

1. Detection: SIFT uses DOG (Difference of Gaussians) to detect blobs in an image. These are the so-called keypoints of an image

2. Description: Every detected keypoint is given a descriptor. This is calculated using pixels from the neighborhood. It is in the descriptor where robustness to scale, rotation illumination and others is embedded.

Here is an excerpt from the doc mentioned:

It is represented as a vector to form keypoint descriptor. In addition to this, several measures are taken to achieve robustness against illumination changes, rotation etc.

I presume the same for SURF as well.

Jeru Luke
  • 20,118
  • 13
  • 80
  • 87
  • But when I try to combine `cv::SiftDescriptorExtractor` whith another `cv::FeatureDetector` (which is different from `cv::SiftFeatureDetector`) I cannot achieve rotation invariant, why? – BrainabilGH Jun 24 '18 at 12:49