Я прочесал Интернет в поисках способа получить функцию извлечения / привязки дескрипторов OpenCV 2.3.1a, чтобы выдавать любые особенности / дескрипторы изображения (STAR / SURF / ORB / SIFT /БЫСТРЫЙ). Мне хорошо известно, что в OpenCV есть метод под названием «goodFeaturesToTrack». Это мне не помогает, так как нет дескрипторов функций (которые мне действительно нужны). Я следил за документацией, указанной здесь:
http: // opencv.itseez.com/modules/features2d/doc/feature_detection_and_description.html
Кажется, ничего не работает. Я перепробовал все варианты дескрипторов / функций. Я пробовал использовать одноканальные и многоканальные изображения (т. е. цвет и черный и белый) и несколько форматов изображений (8bit и 32f). Я работал с текущим дистрибутивом и строил привязки из исходного репо. Большинство методов приводят к ошибке «unknown is not a numpy array». Вот пример:
SimpleCV:1>import cv2
SimpleCV:2>img = Image("aerospace.jpg")
SimpleCV:3>bwimg = img._getGrayscaleBitmap()
SimpleCV:4>bwimg
SimpleCV:4>
SimpleCV:5>surfer = cv2.SURF(0.5,4,2,False,False)
SimpleCV:6>points = surfer.detect(bwimg,None)
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
/Library/Python/2.6/site-packages/SimpleCV-1.2-py2.6.egg/SimpleCV/Shell/Shell.pyc in ()
-
TypeError: is not a numpy array
SimpleCV:7>
Стоит отметить, что я использую SimpleCV для загрузки изображения, но метод _getGrayscaleBitmap () возвращает серое 8-битное изображение IPL, используемое OpenCV. Я уверен, что это работает, поскольку я использую его с сотнями других методов OpenCV. без инцидентов.
Кто-нибудь может указать мне на РАБОЧИЙ пример o f этот код в Интернете. Я просмотрел десятки примеров и не нашел ничего подходящего.