Degrees of freedom in a Homography matrix

9.3k Views Asked by At

Homograpy transformation maps a point in one plane into a point in another plane, $$\begin{pmatrix}x'\\ y'\\ 1\end{pmatrix} = H_{3\times 3}\begin{pmatrix}x\\ y\\ 1\end{pmatrix},$$ where the points $X'$ and $X$ are represented using homogeneous coordinates.

It is said that matrix $H$ is defined up to scale and its degree of freedom is 8. I understand that if $H$ is up to scale, then $dof(H) = 8$, but why $H$ is defined up to scale?

UPDATE

Affine transformation is $$\begin{pmatrix}x'\\ y'\\ 1\end{pmatrix} = Ax = \begin{pmatrix}a_1 &a_2 &a_3\\ a_4 &a_5 &a_6\\ 0 &0 &1\end{pmatrix}\begin{pmatrix}x\\ y\\ 1\end{pmatrix},$$ why is $dof(A)$ 6?

1

There are 1 best solutions below

4
On

When we use homogeneous coordinates, if a point $P$ in a plane is represented by a vector $x = [x_1, x_2, x_3]^T$, then any non-zero scalar multiple of $x$ also represents the same point $P$.

If $H$ represents a homography, and $Hx = y$, then $(cH)x = cy$. And $cy$ represents the same point as $y$. This shows that $cH$ represents the same homography as $H$. (Assuming $c \neq 0$.)