Extrinsics matrix


Until now all of our equations were referenced to an axis situated in optical center (OC) of the camera, but probably the given PO won’t be referenced to that axis and we have POw (world referenced) and we’ll need to convert POw to PO (OC referenced) before apply previous equations, see figure 1.

If we want to project a POw to N cameras we have to covert N times POw into PO (referenced to OC of each camera) before apply intrinsics matrix.

From POw to PO
Figure 1 – From POw to PO

Rotation & translation

The camera axis can be rotated and translated respect to word axis. Let’s starts defining some parameters:

Twoc = Vector from world axis center to camera axis center (respect world axis)

Tocw = Vector from camera axis center to world axis center (respect camera axis)

Rw2oc = Rotation matrix of the world axis respect camera axis (used to project world points to camera axis)

Roc2w = Rotation matrix of the camera axis respect world axis (used to project camera points to world axis


Usually we have Twoc and Rocw, and starting from these parameters we have to calculate extrinsics matrix (Kext).

In the figure 2 we define the previous parameters and we calculate the Kext matrix for a 2D environment.

Rotation & translation in 2D
Figure 2 – Rotation & translation in 2D
In the figure 3 we can see the 3D extension of previous equations, we have to take care in the rotation order, the final result is not the same if we change the application order of rotations
3D extension of rotation equations
Figure 3 – 3D extension of rotation equations

We can see that the matrices used to convert (rotate) a 3D point world referenced to camera referenced (OC) are the same matrices used to rotate point in 3D world (standard rotation matrices), we are doing the same calculus from different point of view, see the figure 4.

Standard 3D rotation matrices
Figure 4 – Standard 3D rotation matrices

Finally we can define Kext for a 3D world, see figure 5:

Extrinsics matrix definition
Figure 5 – Extrinsics matrix definition

Now we can use Kext we can convert any 3D point world referenced into cam referenced, we only have to multiply the world referenced vector by Kext to obtain the converted vector.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: