Я прочитал много вопросов о сопоставлении одного изображения с несколькими изображениями с использованием сопоставления SIFT и грубой силы, например this и это. Можно ли сделать сопоставление «многие с одним»? Я хотел бы сделать следующее.
- перебирать изображения запросов в каталоге
- для каждого изображения извлекать ключевые точки и дескрипторы SIFT
- сделать сопоставление с каждым изображением поезда/шаблона (опять же с SIFT)
- получить изображение шаблона, которое имеет наилучшее соответствие (например, минимальное евклидово расстояние?)
- используйте это лучшее изображение шаблона и вычислите аффинное преобразование между этим изображением шаблона и текущим изображением запроса.
До сих пор я успешен до шага 3 и застрял на этом этапе.
Я использую Opencv 2.7.12 и Python 2.7. Поскольку в этой версии нет drawMatches
, я использую эту реализацию. https://stackoverflow.com/a/26227854/6677891