Как использовать 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 таким же образом или мне нужно сделать еще несколько преобразований?
Я пробовал разные совпадения, но безуспешно.
заранее спасибо