поиск преобразования между положениями камеры, если известно преобразование между двумя изображениями - PullRequest
2 голосов
/ 27 марта 2012

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

1 Ответ

2 голосов
/ 28 марта 2012

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

  1. Извлечение характерных точек (вместе с дескриптором) каждого изображения (вы можете использовать функции SIFT)
  2. Совпадение характерных точек обоих изображений (вы можете использовать фланговую библиотеку или подбор методом грубой силы). Каждая из этих подходящих пар является связующими точками.
  3. Вы можете использовать точки привязки для вычисления относительного положения одной камеры между другой (вы можете использовать метод 5 точек, но вам нужно как минимум 5 точек привязки для этого метода - связанная бумага ).
  4. Использовать относительную ориентацию (полученную в шаге 3) с местоположением первой камеры для расчета местоположения второй камеры.

Но для точного выполнения шага 4 вам необходима некоторая информация о камере, например, встроенные функции, если у вас нет такой информации, существуют методы для их оценки (например, оценка встроенных функций камер)

Фактически требуемая реализация для каждого шага может быть найдена в очень популярных библиотеках, таких как opencv и libmv (обе реализованы на C, C ++), но они могут не иметь оболочек matlab для этого метода, вы можете найти их, если хотите.

ПРИМЕЧАНИЕ: Используя это решение, вы не сможете использовать ранее рассчитанный результат преобразования изображения.

...