How do I write this equation backwards (with inverted matrices)?

62 Views Asked by At

My question is what matrix operations are used to get to from eq.(1) to eq.(3)?

I'm pretty clear with eq.(1), solving for the unknown image pts [u,v].

Now I want to solve for an unknown XYZ world point with known image [u,v]. This will require moving matrices from the right to the left side, eq.(3). How do I move matrices K, [R|T] to the left to isolate $W_{xyz}$ like eq.(3)?

eq.(1) $s\cdot\underbrace{\begin{bmatrix} u \\ v \\ 1 \\ \end{bmatrix} }_\text{Cam pts} = \underbrace{\begin{bmatrix}fx & 0 & cx\\0 & fy & cy\\0 & 0 & 1\end{bmatrix}}_\text{K} \underbrace{\begin{bmatrix}r_{11} & r_{12} & r_{13} & t_x\\r_{21} & r_{22} & r_{23} & t_y\\r_{31} & r_{32} & r_{33} & t_x\end{bmatrix}}_\text{RT(rotation/translation)} \underbrace{\begin{bmatrix} X \\ Y \\ Z \\ 1 \\ \end{bmatrix} }_\text{World Coordinates} $


This simplifies to:

eq.(2) $s\cdot C_{uv}$ = $K\cdot[R|t]\cdot W_{xyz}$



eq.(3)$\underbrace{ \Biggl( s \begin{bmatrix} u \\ v \\ 1 \\ \end{bmatrix} K^{-1}-t\Biggr) R^{-1} = \begin{bmatrix} X \\ Y \\ Z \\ 1 \\ \end{bmatrix} }_\text{Matrices moved leftwise to solve for World Points X,Y,Z} $

1

There are 1 best solutions below

3
On BEST ANSWER

Matrices do not commute, you need to multiply them on the left hand side: $sR^{-1}\left ( K^{-1}C-t\right )=W_{xyz}$