Nonuniform Mappings
In this section, we turn to geometric manipulations of images, i.e., those transformations that have their
origin at the intersection of three-dimensional geometry and projective geometry.
6
Such manipulations
include both uniform and nonuniform resizing (the latter is known as warping). There are many reasons to
perform these operations: for example, warping and rotating an image so that it can be superimposed on a
wall in an existing scene, or artificially enlarging a set of training images used for object recognition.
7
The
functions that can stretch, shrink, warp, and/or rotate an image are called geometric transforms (for an early
exposition, see [Semple79]). For planar areas, there are two flavors of geometric transforms: transforms
that use a 2-by-3 matrix, which are called affine transforms; and transforms based on a 3-by-3 matrix,
which are called perspective transforms or homographies. You can think of the latter transformation as a
method for computing the way in which a plane in three dimensions is perceived by a particular observer,
who might not be looking straight on at that plane.
An affine transformation is any transformation that can be expressed in the form of a matrix multiplication
followed by a vector addition. In OpenCV, the standard style of representing such a transformation is as