SIFT feature descriptor implementation

asked 2015-03-09 11:07:03 -0600

Danst gravatar image

According to Lowe's paper about the original SIFT algorithm, a feature descriptor consisting of 4 x 4 orientation histograms is calculated from a 16 x 16 window. The scale of the descriptor is only used to select the level of gaussian blur for the image.

Looking at the OpenCV implementation, this doesn't seem to be the case. In calcSIFTDescriptor there is the following code to calculate the histograms:

for( k = 0; k < len; k++ )
{
  // histogram update
}

Where len is the number of samples used. According to Lowe's algorithm, this should always be 256 (16 x 16), shouln't be? In OpenCV implementation the len depends on the scale of the descriptor.

Could someone clarify this?

Thanks

edit retag flag offensive close merge delete