Я пытался реализовать дескриптор 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? Выполнив небольшую отладку, я обнаружил, что интерпретатор занимает очень много времени при вычислении дескрипторов, а затем в конце концов падает. Ключевые точки определяются правильно. Как ни странно, иногда это работает, а иногда просто падает!