Multiplication by an extrinsic matrix

400 Views Asked by At

I need to project a 2D point taken by a Kinect camera to real world coordinates, without using the official Kinect SDK. I found this answer: https://stackoverflow.com/questions/47348266/color-space-to-camera-space-transformation-matrix , and it's great.

I just don't understand the following matrices expression: projection matrix

The multiplied matrices are of sizes [3x3] and [3x4]. Which gives [3x4]. Obviously this is not invertible. So I'm not sure how to take the inverse of this...

In the answer it says that the matrix on the right (3x4) is the "extrinsic camera matrix", and you can consider it as $(I|0)$ where I is identity matrix.

I read about "extrinsic matrices" but I'm still not sure how this multiplication and inversion is done. I read that you can add a [0 0 0 1] row at the bottom so it becomes a square matrix which is easier to work with. But then I can't multiply it by the left [3x3] matrix (also it will simply become the identity matrix, so it won't do anything).

Can anybody explain how the multiplication and inversion are done? Either mathematically or if there's a module that does that in python that'd be great.