У меня есть два изображения, и я знаю положение точки на первом изображении. Теперь я хочу получить соответствующую позицию на втором изображении.
Это моя идея:
SIFT
, чтобы сопоставить ключевые точки (как видно на изображении)F
Могу ли я теперь использовать F
для вычисления соответствующей точки?
Одного использования фундаментальной матрицы F
недостаточно. Если у вас есть точка на одном изображении, вы не можете найти ее положение на втором изображении, потому что оно зависит не только от конфигурации камер, но и от расстояния от камеры до этой точки.
Это также видно из уравнения x2^T * F * x1 = 0
. Если вы знаете x1
и F
, то для x2
вы получите уравнение x2^T * b = 0
, где b = F * x1
. Это уравнение точки x2
, лежащей на прямой b
(точки x1
, x2
и прямая b
находятся в однородных координатах). Хотя вы не можете найти точное положение точки на втором изображении, вы знаете, что она должна лежать где-то на этой линии.
У Хартли и Зиссермана есть отличное объяснение этих концепций в их книге Геометрия множественного представления в компьютерном зрении. Обязательно ознакомьтесь с более подробной информацией.
Да, в таком случае это будет возможно. Вот как работает сшивание панорам. В этом случае преобразование между двумя изображениями является гомографией с 3 степенями свободы. Фундаментальная матрица не нужна, но будет полезно иметь встроенную матрицу камеры.
Взгляните на обновление вращающейся панорамы в разделе 4.3 microsoft.com/en-us/research/publication/…
Что, если бы моя камера не двигалась, а только вращалась. Можно ли решить эту проблему, не зная расстояния до точки интереса?