Как получить очки в стереоизображении от внешних параметров

Я откалибровал пару камер, зная их внутренние и внешние параметры.
Зная, что они оба смотрят на плоскость, если я определю некоторые точки на одном изображении, как я могу получить точку на другом изображении?

Камеры довольно близко расположены друг от друга, поэтому предположим, что нет никаких преград, обе могут видеть один и тот же объект.

Есть ли openCV unction или набор функций для этого?
Моя точка зрения на Z = 0 в мире.

В принципе:

P_CAM1=(200,300) -> P_CAM2= ?

0

Решение

Ответ:

  1. Нерассортировать изображения. cv::undistort
  2. подсчитывать P1ccdf = A^(-1)*P1 -> Точка P1 в f = 1 мировой системе координат.
  3. Рассчитать точку в мире ref Z=0 для этого:
    • Рассчитать координаты оптического центра в мире: Copt1 = [0,0,0,1] T Copt1w=-R1t*T1
    • вычислить вектор между Coptw1 и P1ccdf: с некоторой математикой -> V1w=R1T*P1ccdf
    • Coptw1+lambda*V1w=[Pxw,Pyw,0]T -> lambda=-cpotw(z)/V1(z)
    • Coptw1+lambda*V1w=[Pxw,Pyw,0]T=P1w
  4. Защитите точку мира в cam2
    • P1ccd2f = R2T2 *[Pxw Pyw 0 1]T
    • P1ccd2f=P1ccd2f/P1ccd2f(3)
    • P2=A2*P1ccd2f

где

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]