Вычислить относительное вращение и перемещение между позициями камеры
[ возвращает ориентацию и местоположение калиброванной камеры относительно ее предыдущей позы. Две позы связаны relativeOrientation,relativeLocation] = relativeCameraPose(M,cameraParams,inlierPoints1,inlierPoints2)M, которая должна быть фундаментальной, важной, affine2d, или projective2d матрица. Функция вычисляет местоположение камеры до масштаба и возвращает relativeLocation как единичный вектор.
[ возвращает ориентацию и местоположение второй камеры относительно первой.relativeOrientation,relativeLocation] = relativeCameraPose(M,cameraParams1,cameraParams2,inlierPoints1,inlierPoints2)
[ кроме того, возвращает часть точек входа, которые проецируются перед обеими камерами.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 для определения реализуемой комбинации.
Калибратор камеры | cameraMatrix | cameraPoseToExtrinsics | estimateCameraParameters | estimateEssentialMatrix | estimateFundamentalMatrix | estimateWorldCameraPose | plotCamera | triangulate | triangulateMultiview