1
$\begingroup$

I am trying to replicate the projections of a 3D point to 2D using the pinhole camera model and the formula $x = K * [R|-RC] * X$, where $x = s\begin{bmatrix} u\\ v\\ 1 \end{bmatrix}$, $K$ is the intrinsic matrix: $\begin{bmatrix} 35 & 0 & 810\\ 0 & 35 & 540 \\ 0 & 0 & 1 \end{bmatrix}$ as the focal length of my ideal pinhole camera is $35mm$ and the image size is $1620px$ by $1080px$.

My camera is looking straight in the middle of the object and therefore has a translation vector $C=\begin{pmatrix} 0 & 0 & -distance \end{pmatrix}$ and $R = I_{3}$. enter image description here

My first question is, if I know the width of the world the camera is capturing, which would be e.g. $200mm$ can I use the formula mentioned here, to receive the missing measurements (distance and width of world)?

enter image description here

After obtaining the distance of the camera to the object I can complete $C=\begin{pmatrix} 0 & 0 & -448.72mm \end{pmatrix}$ and should be able to calculate $x = P*X$, so $\begin{pmatrix} 363463.2 & 242308.8 & 448.72 \end{pmatrix} = \begin{bmatrix} 35 & 0 & 810 & 363463\\ 0 &35 & 540 &242308 \\ 0 &0 &1 & 448.72 \end{bmatrix} * \begin{pmatrix} 0 & 0 & 0 & 1 \end{pmatrix}$ which correctly gives me the center of the image plane if I divide the first two rows of $x$ by the last.

BUT, now I wanted to project the top left corner of the world which would be $\begin{pmatrix} -294.87 / 2 & 200 / 2 & 0 \end{pmatrix}$. enter image description here This should give me $\begin{pmatrix} 0 & 0 \end{pmatrix}$ as the image coordinates as the coordinate system starts in the top left corner. But unfortunately it does not. What am I doing wrong.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.