Дескриптор 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: cv2.imwrite
  • Python 3.5 ImportError: динамический модуль не определяет функцию экспорта модуля (PyInit_cv2)
  • Как вычесть два изображения с помощью python opencv2, чтобы получить объект переднего плана
  • Вычислить центр контура / Область
  • Как вычислить «EMD» для 2-х массивов numpy, т.е. «гистограмма», используя opencv?
  • Как отслеживать различные контуры в opencv python
  • Вывод из моего обнаружения C ++ OpenCV Hough Circle Detection и из моего обнаружения Python OpenCV Hough Circle Detection отличается
  • Python OpenCV 2.4 записывает полуполные видеофрагменты PNG
  • Python - лучший язык программирования в мире.