2014-03-11 4 views
0

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

Я пробовал с SIFT и SURF, но работал только с одним вхождением каждого шаблона и matchTemplate не является инвариантом вращения. Я программирую на C++.

Пожалуйста, не могли бы вы дать мне какие-либо предложения? Благодарю.

+0

Можете ли вы опубликовать часть своего кода? специально были бы полезны объявления детекторов, дескрипторов и счетчиков. – McMa

+0

Невозможно обнаружить первое появление с SIFT/SURF, удалить эти функции и попытаться обнаружить второй и т. Д.? edit: ok, он работает только в том случае, если в изображении имеется только одно общее количество, потому что лучшие совпадения будут смешиваться между несколькими встречами. Это может быть исправлено с некоторой эвристикой. Я думаю, – Micka

+0

Мат plantilla = imread ("PlantillaMujer.jpg", CV_LOAD_IMAGE_GRAYSCALE); OrbFeatureDetector featureDetector (400); vector tempKeypoints, imKeypoints; featureDetector.detect (plantilla, tempKeypoints); featureDetector.detect (imagen, imKeypoints); OrbDescriptorExtractor featureExtractor; Mat tempDescriptors, imDescriptors; featureExtractor.compute (plantilla, tempKeypoints, tempDescriptors); featureExtractor.compute (imagen, imKeypoints, imDescriptors); – diegoroman17

ответ

0

Вы можете использовать лог-полярный шаблон.

Вы можете найти более подробное объяснение здесь:

В данной работе описанного методе для нахождения максимального коррелировать шаблон. Но с небольшими изменениями он может использоваться для поиска нескольких вхождений шаблона.

+0

Спасибо, Андрей, это то, что мне нужно. – diegoroman17

 Смежные вопросы

  • Нет связанных вопросов^_^