Согласно статье Лоу об исходном алгоритме SIFT, дескриптор признака, состоящий из гистограмм ориентации 4 x 4, вычисляется из окна 16 x 16. Масштаб дескриптора используется только для выбора уровня размытия по Гауссу для изображения.
Глядя на реализацию OpenCV, это не так. В calcSIFTDescriptor
есть следующий код для расчета гистограмм:
for( k = 0; k < len; k++ )
{
// histogram update
}
Где len
— количество используемых образцов. По алгоритму Лоу всегда должно быть 256 (16 х 16), не должно быть? В реализации OpenCV len
зависит от масштаба дескриптора.
Может ли кто-нибудь прояснить это?
Спасибо