Как использовать FREAK как часть BOW

У меня есть некоторый код, который выполняет категоризацию объектов с использованием BOW-фрейма, предоставленного OpenCV.

И пока я использую SIFT или SURF в качестве DescriptorExtractor, все в порядке.

Теперь я хочу использовать FREAK в качестве DescriptorExtractor. В качестве первого шага я собираю все дескрипторы всех изображений. Когда я использую FREAK, я должен добавить разговор descriptor.convertTo(descriptor, CV_32F);или метод кластера вызывает исключение. Все идет нормально.

Затем, когда я пытаюсь сгенерировать помеченные ответы для каждого изображения, используя bowide_->compute(image, keypoints, result);

Я получаю исключение OpenCV Error: Assertion failed (queryDescriptors.type() == trainDescCollection[0].type()) in knnMatchImpl, file /home/kastor/Development/opencv-2.4.7/modules/features2d/src/matchers.cpp, line 351 queryDescriptors.type() == trainDescCollection[0].type().

Следующим шагом будет обучение SVM. Как я уже сказал, все это работает для SIFT и SURF. Любые идеи, если можно использовать FREAK таким же образом или мне нужно сделать еще несколько преобразований?

Я пробовал разные совпадения, но безуспешно.

заранее спасибо

0 ответов

Другие вопросы по тегам