0

Пытается восстановить 3D-координаты точки на плоскости от 2D-пиксельных координат в камере Изображение с использованием внешних и внутренних параметров камеры с помощью «Camera Calibration Toolbox for Matlab».Реконструкция 3d на плоскости от 2d проекции с параметрами калибровки камеры плоскости

внутренние параметры: Фокусное расстояние: FC = [1017,21523 1012,54901] Основная точка: CC = [319,50000 239,50000]

внешние параметры: Перевод вектор: Tc_ext = [4.409693 -74.116018 393.057934] Вращательная матрица: Rc_ext = [-0.083632 0.991715 -0.097501 0,832136 0,015674 -0,554350 -0,548230 -0,127495 -0,826553]

Может кто-нибудь поможет, как получить 3D-координаты точки на плоскости из 2d с изображением камеры?

ответ

1

В порядке возрастания сложности рассмотрено 4 случая. Основная цель - найти в пространстве интересующую плоскость. После этого вы можете просто пересечь его с помощью луча, который обратный - проецирует ваш пиксель и, таким образом, получает решение.

  1. Плоский объект содержит цель шахматной доски И изображение является одним из тех, которые вы использовали для калибровки камеры. Тогда внешние параметры [R | T] для этого изображения, возвращаемого калибровочной программой, содержит ответ, поскольку цель - это плоскость XY возвращенного преобразования координат между объектами на этом изображении, а мировое происхождение является одним из углов (вы можете видеть, какой угол это точка проецирования (0,0,0) в координаты изображения. Плоскость XY (в координатах камеры) - это плоскость, натянутая на первые два столбца матрицы вращения R, а ее начало находится в точке T.
  2. Плоскость представляет собой мишень шахматной доски, но ее изображение НЕ является одним из тех, которые использовались для калибровки. Вы можете просто добавить его в набор, повторно откалибровать и перейти к 1., но более быстрая альтернатива - (a) извлечь углы как вы делаете для калибровки, (b) вычислите гомографию H от их положений изображения до их «истинного» положения на физической мишени при Z = 0; (c) разложите H на K * [R | T], используя известный K из калибровка (вы используете алгоритм под названием «RQ decompo sition "для этой цели, посмотрите его). Тогда goto 1.
  3. Цель калибровки не в изображении, но вы можете идентифицировать на изображении не менее 4 точек на этой плоскости, так что ни одна из них не является коллинеарной, и они находятся в известных положениях относительно друг друга , Например, вы видите прямоугольник известных сторон изображения. Затем, как и в пункте 2., вы можете вычислить гомографию между этими физическими точками и их изображениями и извлечь преобразование [R | T], зная матрицу камеры. Тогда goto 1.
  4. Ничего из перечисленного: извините, вы застряли.