Camera pose estimation: How do I interpret rotation and translation matrices?

前端 未结 4 688
逝去的感伤
逝去的感伤 2020-12-29 00:55

Assume I have good correspondences between two images and attempt to recover the camera motion between them. I can use OpenCV 3\'s new facilities for this, like this:

<
4条回答
  •  孤独总比滥情好
    2020-12-29 01:39

    Let's see. The OpenCV camera coordinate frame is "X toward image right, Y toward image bottom, Z = X x Y toward the scene". Q=[R|t] is the coordinate transform from camera2 to camera1, so that t is the vector rooted at camera1, with the tip at camera2, expressed in camera1 frame. Thus your translation vector implies that camera2 is to the left of camera 1, which, given your images, is possible only if the car's side view is in camera2 and the car's front view is in camera 1. This is consistent with a positive Z component of the translation, since in the side view the car appears further away from the camera.

    This identification is also consistent with the Euler angles you computed: they are returned in the OpenGL convention, thus expressing the rotation from source to destination. In your case, a rotation of 46 deg about the vertical axis of camera1, counterclockwise w.r.t. the downward-oriented Y axis, brings you just about at the side view you have.

提交回复
热议问题