Как получить правильную октаву для SIFT ключевых точек OpenCV - PullRequest
0 голосов
/ 28 апреля 2020

Я пытаюсь использовать обнаружение kyepoints OpenCV SIFT. Проблема в том, что я получаю странные октавы. Я посмотрел вверх, и оказалось, что это набор шкал, слоев и октав.

Итак, я добавил распаковку как в здесь

void unpackSIFTOctave(const KeyPoint& kpt, int& octave, int& layer, float& scale)
{
  octave = kpt.octave & 255;
  layer = (kpt.octave >> 8) & 255;
  octave = octave < 128 ? octave : (-128 | octave);
  scale = octave >= 0 ? 1.f/(1 << octave) : (float)(1 << -octave);
 }

Проблема в том, что теперь я получаю значения от -1 до 4. Я хочу получить 3 octaves и параметр nOctaveLayers не помогают. Кто-нибудь знает, как получить октаву от 0 -> 2?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...