Реконструкция 3d на плоскости из 2d проекции с параметрами калибровки камеры на плоскости

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

внутренние параметры: Фокусное расстояние: 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,5 -0,548230 -0,127495 -0,826553 ]

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


person Vadim want to know    schedule 06.10.2014    source источник


Ответы (1)


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

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