# Instrinsic Camera Parameters

I am trying to understand intrinsic camera parameters.

Specifically I not able to understand the skew factor and pixel scaling derivation in it.

Example:

Most of the literature explanation starts like this $(x, y, z)$ - point in real world $(x', y')$ - point in image Derivation Step 1: $$x' = \frac{fx}z \\ y' = \frac{fy}z$$

Step 2: Account for origin shift of the coordinate system (Image plane) $(O_x, O_y)$

$$x' = \frac{fx}z + O_x \\ y' = \frac{fy}z + O_y$$

Step 3:

Account in skew, here I really don't understand it Consider a point in the image and its coordinates

According to oblique coordinate system - $u', v'$ According to Cartesian coordinate system - $u, v$

Angle between basis of oblique coordinates - $l$

relationship

$$u' = u - v\cot(l) \\ v' = {v\over \sin(l)}$$

What I don't understand is they replace $x$ and $y$ with $u'$ and $v'$. Instead I feel it should be other way around, $x$ and $y$ with $u$ and $v$.

After that step, pixel scaling is done.

In that too most textbook misses one condition when they consider height and width of pixel they don't mention the cases. For example in case of skew is the height along the basis of oblique coordinates or along the Cartesian coordinates. This is also confusing?

To summarize I have two question:

Q-1 How coordinate system is transformed when there is skew?

Q-2 How pixel scaling is done?

• Please format your mathematical expressions with MathJax. You can find a quick reference here. – amd Sep 1 '18 at 20:30

Let’s examine the skew in step 3. The new $u'$-$v'$ coordinate system has the same origin as the old $u$-$v$ system, and the $u$ and $u'$ axes coincide. The $v'$-axis is tilted at some angle $\alpha\ne\pi/2$ from the $u'$-axis (using $l$ as the name of an angular measure feels wrong somehow), like so:
The $u'$-coordinate of a point is the signed distance from the $v'$-axis measured parallel to the $u'$-axis, which is easily found to be $u-v\cot\alpha$. Similarly, the $v'$-coordinate of a point is the signed distance to the $u'$-axis, measured parallel to the $v'$-axis, i.e., $v'=v\csc\alpha$. If you instead used the inverse of this map, you’d be treating the transformation as active: points get moved around while the coordinate system remains the same. If the image is rendered on a rectangular grid of pixels, these oblique axes get “straightened out.”
Unfortunately, your characterization of step 2 is somewhat at odds with this passive view of a transformation. The translation in that step does shift the origin, but $O$ is not the location of the new origin in the old coordinate system. If it were, we’d be subtracting its coordinates to get a point’s coordinate in the new frame. Instead, it’s the new coordinates of the old origin. A perhaps less confusing way to view what’s going on in step 2 is that you’re choosing the coordinates of the principal point—the point at which the camera’s axis intersects the image plane—and adjusting the coordinate system accordingly.