У меня есть откалиброванная камера, и у меня есть внутренние параметры. У меня также есть внешние параметры относительно точки (мирового происхождения) на плоской поверхности в реальном мире. Эту точку я задал в качестве начала координат в реальном мире [0,0,0] с нормалью [0,0,1].
Из этих внешних параметров я могу определить положение и поворот камеры в трехмерных координатах мировой плоскости, используя это здесь: http://en.wikipedia.org/wiki/Camera_resectioning
Теперь у меня есть вторая точка, из которой я извлек координаты изображения для [x, y]. Как мне теперь получить 3d-положение этой точки в мировой системе координат?
Я думаю, что интуиция заключается в том, что я должен проследить луч, который идет от оптического центра камеры (для которого у меня теперь есть 3D-положение, как описано выше), через плоскость изображения [x, y] камеры, а затем через план моего реального мира, который я определил наверху.
Теперь я могу пересечь трехмерный координатный луч с плоскостью, которую я знаю, и указать точку на этой плоскости. Чего я не понимаю, так это как определить положение и направление 3d, когда оно покидает плоскость изображения через пиксель. Меня смущает трансформация через разные системы координат.
источник
Ответы:
Если у вас есть внешность, то это очень легко. Иметь внешность - это то же самое, что иметь «позу камеры» и то же самое, что иметь гомографию. Проверьте этот пост в stackoverflow.
У вас есть внешность, также называемая позой камеры, которая описывается как перевод и вращение:
Вы можете получить гомографию из позы следующим образом:
Затем вы можете проецировать свои 2D точки в соответствующие 3D точки, умножив гомографию на точки:
источник
У вас есть два варианта, использовать обратную проекцию или проекцию между двумя плоскостями (гомография).
При обратной проекции вы берете псевдообратную матрицу камеры и умножаете результат на ваше однородное представление точки изображения:п
источник
Вы не можете знать 3d позицию второй точки. Это может быть любая из точек на луче от вашего центра камеры до бесконечности.
Вы можете сделать следующее:
источник