Geometric Transformation and Interpolation
Geometric Transformations are functions applied to images, which map one domain of element values to another domain. These transformations can produce a number of different results (e.g. scaling, rotations, projections, shearing, projection, etc.).
Because these transformations operate on a discrete domain, interpolation is used to provide an approximation of a point on the domain, where no exact value exists.
Affine Transformations are a subset of geometric transformations, where parallelism is preserved after being applied. Scaling, rotating, additive translations, and shearing are all examples of affine transformations. For example, after a square has been sheared, although the lengths of the sides and internal angles have been altered, the line segments on opposite sides will remain parallel.
Projection Transformations are functions, which usually do not preserve parallelism. These functions apply transformations that warp the image or project it to a lower dimension.
Interpolation is used when a transformation function applied to a discrete set of input values results in a value some where in between known elements. Some technique to approximate the result should be used. Interpolation in image processing and computer graphics is required to provide smoother transitions across the discrete domain.
Push-Forward vs Pull-Backward Transformations
An image, I(x), can be transformed to another image, I'(x) = I(h(x)), in two different ways: push forward or pull backwards.
- When pushing forward an image, a source pixel is chosen in the original image and its destination's location is calculated in the new image. The problem with this is the location of its destination is most likely to fall between pixels. The new image's pixel values would still need to be calculated.
- When pulling backward an image, a pixel is chosen in the new image and the location of its source value is calculated in reverse. The source location is in the original image and is most likely to fall between pixels. The value of this source would then be interpolated from its surrounding pixels. Fewer calculations are required with this method.