Bruteforcematcher с экстрактором FREAK дает ноль совпадений
Привет, ребята, надеюсь, у вас все хорошо. Я реализую систему, которая может обнаружить объект из данного кадра изображения в OpenCV 2.4.8. В настоящее время я имею дело с алгоритмом FREAK, потому что он бесплатный. Как уже упоминалось в руководствах и документах opencv, я создал объекты fastfeaturedetector и класса FREAK.
FastFeatureDetector detector(30);
FREAK extractor;
отсюда код больше всего похож на пример opencv http://docs.opencv.org/doc/tutorials/features2d/feature_flann_matcher/feature_flann_matcher.html вместо FLANN я использовал Bruteforce
BruteForceMatcher<Hamming> matcher;
как для объекта, так и для кадра в реальном времени я нахожу ключевые точки и дескрипторы
detector.detect(frame,keypoints_frame);
descriptors_frame.convertTo(descriptors_frame,CV_32F);
extractor.compute(frame, keypoints_frame, descriptors_frame);
Затем я сопоставляю дескрипторы, используя "match"-
matcher.match( descriptors_object, descriptors_frame, matches);
Когда я проверяю размер совпадений (который определяется как совпадения std::vector
Подскажите, пожалуйста, почему я получаю ноль матчей за FREAK? Что я могу сделать, чтобы избежать этого и выполнить поиск гомографии? Код хорошо работает с серфом и BRISK (но они тоже дают ложные результаты, но я могу с ними справиться) Заранее спасибо!!
Примечание:- Я думаю, мой вопрос вам понятнее. Пожалуйста, дайте мне знать, и я буду редактировать, как вы хотите.