Прямо сейчас у меня есть две камеры, и я заканчиваю шаг калибровки стерео для захвата внутренних и внешних параметров. Я извлек несколько характерных точек в левой камере и задаюсь вопросом, как сопоставить их с правым изображением. Кто-нибудь может помочь, пожалуйста?
Я попытался вычислить их по матрице поворота и перемещения каждой камеры вот так.
С функцией SolvePnP
в openCV
я получил R1 T1 для левой камеры и R2 T2 для правой камеры.
В ту же мировую точку [X,Y,Z] я могу попасть
[x1,y1,z1] = R1[X,Y,Z]+T1
и
[x2,y2,z2] = R2[X,Y,Z]+T2
которые камера координирует в своей собственной системе координат.
Когда я пытаюсь сопоставить [x1,y1,z1] и [x2,y2,z2] с помощью
R2*inv(R1)[x1,x2,x3]+(T2-R2*inv(R1)*T1) = [x2,y2,z2]
Я получил этот результат.
изображение слева — результат сопоставления угла шахматной доски с левого изображения методом, описанным выше; изображение справа — это углы правого изображения, вычисленные с помощью findChessBoardCorner: