Как мне сопоставить шаблон с исходным изображением от SURF? - PullRequest
1 голос
/ 05 октября 2011

Недавно я работал с проектом робототехники;мой робот может обнаружить объект по цвету, но я обнаружил, что он недостаточно хорош для другого объекта.Поэтому я хочу, чтобы робот в режиме реального времени просматривал изображение, чтобы найти целевой объект, который будет определен с использованием его шаблона.

К сожалению, я не знаю, как сопоставить ключевые точки шаблона с его изображением на изображении.

1 Ответ

1 голос
/ 05 октября 2011

Существует очень хороший пример, чтобы узнать, как использовать SURF в каталоге примеров в вашем каталоге OpenCV: OpenCV / samples / c / find_obj.cpp

Вам необходимо использовать дескрипторы SURF (см. Строки 245).-255)

CvSeq *objectKeypoints = 0, *objectDescriptors = 0;
CvSURFParams params = cvSURFParams(500, 1);
cvExtractSURF(object, 0, &objectKeypoints, &objectDescriptors, storage, params);

Вы должны прочитать дескрипторы с помощью CvSeqReader:

CvSeqReader reader;
cvStartReadSeq(descriptors, &reader, 0);

Проделать то же самое со сценой и использовать два дескриптора в поиске NN, чтобы найти соответствие между ними,Еще раз, пример, данный OpenCV, должен вам сильно помочь:)

...