Я откалибровал пару камер, зная их внутренние и внешние параметры.
Зная, что они оба смотрят на плоскость, если я определю некоторые точки на одном изображении, как я могу получить точку на другом изображении?
Камеры довольно близко расположены друг от друга, поэтому предположим, что нет никаких преград, обе могут видеть один и тот же объект.
Есть ли openCV unction или набор функций для этого?
Моя точка зрения на Z = 0 в мире.
В принципе:
P_CAM1=(200,300) -> P_CAM2= ?
Ответ:
cv::undistort
P1ccdf = A^(-1)*P1
-> Точка P1 в f = 1 мировой системе координат.Z=0
для этого:
Copt1w=-R1t*T1
V1w=R1T*P1ccdf
Coptw1+lambda*V1w=[Pxw,Pyw,0]T
-> lambda=-cpotw(z)/V1(z)
Coptw1+lambda*V1w=[Pxw,Pyw,0]T=P1w
P1ccd2f = R2T2 *[Pxw Pyw 0 1]T
P1ccd2f=P1ccd2f/P1ccd2f(3)
P2=A2*P1ccd2f
где
P
означает точку
A
это внутренняя матрица (4×4)
RT
это матрица камеры (3×4)
Других решений пока нет …