Как преобразовать 3d точку из камеры в мировые координаты - PullRequest
0 голосов
/ 29 октября 2019

Спасибо, что прочитали этот вопрос!

У нас есть настройка, показанная на этой визуализации. Доступны 4 камеры, которые откалиброваны с помощью внутренних (матрица камеры, коэффициенты искажения) и внешних (вращение, трансляция, основные и основные матрицы) параметров.

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

Мы хотим иметь возможность использовать камеры для определения местоположения и позиционирования объектов всцена с привязкой к мировым координатам (белая плоскость). До сих пор мы можем определять местоположение и получать трехмерное положение объектов в координатах камеры (главной камеры). Вопрос в том, как эффективнее / проще всего осуществить преобразование координат камеры в мировые координаты? Поможет ли найти нормаль проецируемой белой плоскости? (Пример, который мы можем сделать Как спроецировать точку на плоскость в 3D? ) Или, если известно трехмерное положение относительно белой плоскости, можем ли мы использовать API OpenCV, например cv2.estimateAffine3D?

Спасибо!

Scene or setup

1 Ответ

0 голосов
/ 05 ноября 2019

Спасибо unlut за помощь!

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

...