Обнаружение 2D-фрагментов изображения в Open CV

Какой наиболее разумный алгоритм или комбинация алгоритмов можно использовать в OpenCV для решения следующей проблемы:

  • У меня есть набор небольших 2D-изображений. Я хочу определить расположение этих фрагментов изображения на более крупном изображении.
  • Части изображения обычно имеют размер около 32x32 пикселей, а более крупное изображение - около 400x400.
  • Части изображения не всегда квадратные и содержат альфа-канал.
  • Необязательно - большее изображение может быть зернистым, сжатым, повернутым в 3D или с легкими искажениями

. Я пробовал cvMatchTemplate, с очень плохими результатами (трудно правильно сопоставить, и большое количество ложных срабатываний при использовании всех методов сопоставления). Некоторые проблемы возникают из-за того, что OpenCV, похоже, не может справиться с сопоставлением шаблонов альфа-каналов.

Я пробовал ручной поиск, который, кажется, работает лучше и может включать альфа-канал, но работает очень медленно.

12128] Спасибо за любую помощь.

8
задан Ilmari Karonen 27 October 2013 в 14:14
поделиться