Дескриптор FREAK с Opencv Python

Я пытался реализовать дескриптор FREAK в Python, используя Opencv. Вот код, который я использую:

def surf_freak_detect(image,hessianThreshold): surfDetector = cv2.SURF(hessianThreshold) surfDetector=cv2.GridAdaptedFeatureDetector(surfDetector,50) keypoints = surfDetector.detect(image,None) freakExtractor = cv2.DescriptorExtractor_create('FREAK') keypoints,descriptors= freakExtractor.compute(image,keypoints) del freakExtractor return keypoints,descriptors 

Это правильный способ инициализировать дескриптор Freak ? Сделав небольшую отладку, выяснилось, что интерпретатор занимает очень много времени при вычислении дескрипторов, а затем в конечном итоге сбой. Ключевые точки обнаружены должным образом. Странно, это работает иногда, а иногда просто падает !

2 Solutions collect form web for “Дескриптор FREAK с Opencv Python”

Если ключевые точки обнаружены должным образом, но программа сработает при создании дескрипторов, это связано с тем, что область дескриптора (которая окружает ключевую точку) выходит из изображения и имеется доступ к памяти в положение, которое не существует .

Вы должны каким-то образом ограничить область работы для уродских дескрипторов.

В OpenCV 3.0 теперь есть привязки Python для FREAK. Его параметры конфигурации описаны здесь . Кажется, что отсутствует документация о том, как на самом деле вызывать его в Python, но вы можете использовать его в Python следующим образом:

 freakExtractor = cv2.xfeatures2d.FREAK_create() keypoints,descriptors= freakExtractor.compute(image,keypoints) 

(Вы должны получить ключевые точки от отдельного детектора функций, как это было в вашем коде выше).

  • python - OpenCV mat :: convertTo в python
  • OpenCV: утечка памяти с интерфейсом Python, но не в версии C
  • Оценка 2D движения с использованием фильтрации Python, OpenCV и Kalman
  • Синхронизация аудио и видео с помощью OpenCV и PyAudio
  • Открытие видео с помощью openCV + python
  • Opencv: Как сшить четыре трапецеидальных изображения, чтобы сделать квадратное изображение?
  • Обнаруживать лицо, затем автозахватывать изображения
  • Python 2.7 CV2 & Tkinter с веб-камерой
  • Конфликтующие типы Numpy и OpenCV2 при вызове функций OpenCV
  • ValueError: общий размер нового массива должен быть неизменным
  • Python, OpenCV: захват изображений с веб-камеры
  • Python - лучший язык программирования в мире.