Как отобразить точки от левой камеры к правой камере с помощью поворота (R) и перемещения (t) между двумя камерами, полученными из стереокалибровки ()? - PullRequest
0 голосов
/ 10 мая 2018

У меня есть R | t между двумя камерами, который оценивается с помощью функции стереоCalibrate () из Opencv. Из функции StereoCalibrate () мы получаем R1 t1 и R2 t2 для каждой камеры соответственно. Мы также попадаем между камерой R t (R t между обеими камерами). Кроме того, мы также получаем 2 собственные матрицы K1 и K2, по одной для каждой камеры.

Я пытался отобразить точки с одной камеры на другую, используя приблизительное значение R | t (между двумя камерами). Однако мне не удалось отобразить даже точки, которые я использовал для оценки R | t. Я попытался нанести на карту, используя данные о глубине, но мне это не удалось. Любая идея, как сопоставить точки с одной камеры на другую?.

Я пытался Оценить позу 2-й камеры откалиброванной стереосистемы, учитывая 1-ую позу камеры , но не получил успеха.

1 Ответ

0 голосов
/ 10 мая 2018

«Картографирование», которое вы ищете, требует знания трехмерной геометрии сцены. Это может быть выведено из карты глубины, то есть изображения, связанного с камерой, значения пикселей которой равны расстоянию от камеры объекта сцены, видимого через каждый пиксель. Сама карта глубины может быть вычислена из стерео алгоритма.

В некоторых особых случаях отображение может быть вычислено без знания геометрии сцены. К ним относятся:

  • Смещение камеры - это чистое вращение (или, в более общем случае, перемещение между камерами очень мало по сравнению с расстоянием между объектами сцены и камерами). В этом случае картирование изображения является гомографией.
  • Сцена лежит в плоскости. В этом случае также отображение изображения является гомографией.
...