Вычислите относительное вращение и перевод между положениями камеры
[
возвращает ориентацию и местоположение калиброванной камеры относительно ее предыдущего положения. Два положения связаны relativeOrientation
,relativeLocation
]
= relativeCameraPose(M
,cameraParams
,inlierPoints1
,inlierPoints2
)M
, который должен быть основным принципом, важным, affine2d
, или projective2d
матрица. Функция вычисляет местоположение камеры, чтобы масштабироваться и возвращает relativeLocation
как единичный вектор.
[
возвращает ориентацию и местоположение второй камеры относительно первой.relativeOrientation
,relativeLocation
]
= relativeCameraPose(M
,cameraParams1
,cameraParams2
,inlierPoints1
,inlierPoints2
)
[
дополнительно возвращается, часть inlier указывает что проект перед обеими камерами.relativeOrientation
,relativeLocation
,validPointsFraction
]
= relativeCameraPose(M
, ___)
Можно вычислить значения внешних параметров камеры, rotationMatrix
и translationVector
, соответствие положению камеры, от relativeOrientation
и relativeLocation
:
[rotationMatrix,translationVector] = cameraPoseToExtrinsics(relativeOrientation,relativeLocation)
eye(3)
, и его местоположение, [0,0,0]
.Можно затем использовать rotationMatrix
и translationVector
как вводит к cameraMatrix
функция.
Можно вычислить четыре возможных комбинации ориентации и местоположения из входной фундаментальной матрицы. Три из комбинаций не физически осуществимы, потому что они проект 3-D указывают позади одного или обеих камер. relativeCameraPose
функционируйте использует inlierPoints1
и inlierPoints2
определить осуществимую комбинацию.