Geometric Calibration (deprecated)

Homogeneous Coordinates

Current Documentation
View previous documentation
View legacy documentation
All documentation versions


Deprecated in Current Release

Requirements Software operation Defining Calibration Tasks Definitions and Theory

Supported Systems

Supported Targets

Required Evidence

Test Setup

Calibration Procedure

User Interface

Use in Imatest IT

Module settings

Module outputs

Defining a Device

Defining Distortion

Defining the System of Devices

Defining the Target

Defining a Test Capture

Defining a Test Image

Homogenous Coordinates

Projective Camera Model

Multi-Camera Systems

Distortion Models

Coordinate Systems

Rotations and Translations


 

Introduction

Homogeneous coordinates are a set of coordinates with useful properties for perspective geometry:

  • Infinity may be represented with a finite value.
  • Rotations and translations may be represented by a single matrix operation.
  • Homogeneous coordinates may be used for a space with arbitrary dimension including 2D (image) and 3D (world) coordinates.

A “standard” coordinate is referred to as inhomogeneous. 

Properties 

  • Iff the last coordinate of a homogeneous coordinate is 0, then it is at infinity.
  • Iff the last coordinate of a homogeneous coordinate is not 0, then it is at a finite location.
  • Two homogeneous points are the same iff there exists a non-zero scalar multiplier between them, i.e., \(\mathbf{x}=k\cdot\mathbf{y}\).

Inhomogeneous to Homogeneous

The simplest way to convert from an inhomogeneous coordinate to a homogeneous one is to append a 1 to the end of the coordinate. 

\(\begin{bmatrix}x\\y\end{bmatrix}\rightarrow\begin{bmatrix}x\\y\\1\end{bmatrix}\)

\(\begin{bmatrix}X\\Y\\Z\end{bmatrix}\rightarrow\begin{bmatrix}X\\Y\\Z\\1\end{bmatrix}\)

The general conversion is to append 1 and multiply by any non-zero real number.

\(\begin{bmatrix}x\\y\end{bmatrix}\rightarrow\begin{bmatrix}k\cdot x\\k\cdot y\\k\end{bmatrix}\)

\(\begin{bmatrix}X\\Y\\Z\end{bmatrix}\rightarrow\begin{bmatrix}k\cdot X\\k\cdot Y\\k\cdot Z\\k\end{bmatrix}\)

Homogeneous to Inhomogeneous

To convert from a homogeneous coordinate to an inhomogeneous one, divide all of the components by the last one, which is discarded.

\(\begin{bmatrix}x\\y\\w\end{bmatrix}\rightarrow\begin{bmatrix}x/w\\y/w\end{bmatrix}\)

\(\begin{bmatrix}X\\Y\\Z\\W\end{bmatrix}\rightarrow\begin{bmatrix}X/W\\Y/W\\Z/W\end{bmatrix}\)