0
votes

I have been learning about camera calibration and get confused in my way to understand how to recover extrinsic and intrinsic camera parameter from camera projection matrix.

In general, we can derive camera projection matrix values by solving the equations from correspondences of 3D world coordinates to 2D screen coordinates and that is, we get an matrix let's say "C"

C = [c11 c12 c13 c14; c21 c22 c23 c24; c31 c32 c33 c34]

And ussually, without loss of generality we can assign c34 = 1 and we can find the rest of the elements through correspondences 3D-2D.

After that, we can compare camera projection matrix C to conjunction of ext and int matrix (let's say M) that can be arranged to be

M = [fxr1+uxr3 fxtx+uxtz; fyr1+uyr3 fytx+uytz; r3 tz] where r1, r2, r3 are the row vector of Rotation matrix and tx,ty,tz are translation.

What I could not make out is when we compare each of C elements to M elements to get the ext and int parameter, our tz (translation about z) will be 1 because we have assigned c34 prior to be 1. How can the tz always 1? can anyone explain?

1

1 Answers

0
votes

Look up "RQ decomposition". OpenCV has a routine to do it