Bilinear transformation that maps the points 0, -i,-1
Answers
Answer:
THIS chapter describes the basics of JAI's geometric image manipulation functions. The geometric image manipulation operators are all part of the javax.media.operator package.
8.1 Introduction
The JAI geometric image manipulation functions are:
Geometric transformation (Translate, Scale, Rotate, and Affine)
Perspective transformation (PerspectiveTransform)
Transposing (Transpose)
Shearing (Shear)
Warping (Warp, WarpAffine, WarpPerspective, WarpPolynomial, WarpGeneralPolynomial, WarpQuadratic, and WarpOpImage)
Most of these geometric functions require an interpolation argument, so this chapter begins with a discussion of interpolation.
8.2 Interpolation
Several geometric image operations, such as Affine, Rotate, Scale, Shear, Translate, and Warp, use a geometric transformation to compute the coordinate of a source image point for each destination image pixel. In most cases, the destination pixel does not lie at a source pixel location, but rather lands somewhere between neighboring pixels. The estimated value of each pixel is set in a process called interpolation or image resampling.
Resampling is the action of computing a pixel value at a possibly non-integral position of an image. The image defines pixel values at integer lattice points, and it is up to the resampler to produce a reasonable value for positions not falling on the lattice. A number of techniques are used in practice, the most common being the following:
Nearest-neighbor, which simply takes the value of the closest lattice point
Bilinear, which interpolates linearly between the four closest lattice points
Bicubic, which applies a piecewise polynomial function to a 4 x 4 neighborhood of nearby points
The area over which a resampling function needs to be computed is referred to as its support; thus the standard resampling functions have supports of 1, 4, and 16 pixels respectively. Mathematically, the ideal resampling function for a band-limited image (one containing no energy above a given frequency) is the sinc function, equal to sin(x)/x. This has practical limitations, in particular its infinite support, which lead to the use of the standard approximations described above.
In interpolation, each pixel in a destination image is located with integer coordinates at a distinct point D in the image plane. The geometric transform T identifies each destination pixel with a corresponding point S in the source image. Thus, D is the point that T maps to S. In general, S doesn't correspond to a single source pixel; that is, it doesn't have integer coordinates. Therefore, the value assigned to the pixel D must be computed as an interpolated combination of the pixel values closest to S in the source image.
For most geometric transformations, you must specify the interpolation method to be used in calculating destination pixel values. Table 8-1 lists the names used to call the interpolation methods.
Table 8-1 Interpolation Types
Name Description
INTERP_NEAREST
Nearest-neighbor interpolation. Assigns to point D in the destination image the value of the pixel nearest S in the source image. See Section 8.2.1, "Nearest-neighbor Interpolation."
INTERP_BILINEAR
Bilinear interpolation. Assigns to Point D in the destination a value that is a bilinear function of the four pixels nearest S in the source image. See Section 8.2.2, "Bilinear Interpolation."
INTERP_BICUBIC
Bicubic interpolation. Assigns to point D in the destination image a value that is a bicubic function of the 16 pixels nearest S in the source image.Section 8.2.3, "Bicubic Interpolation."
INTERP_BICUBIC2
Bicubic2 interpolation. Similar to Bicubic, but uses a different polynomial function. See Section 8.2.4, "Bicubic2 Interpolation."
Occasionally, these four options do not provide sufficient quality for a specific operation and a more general form of interpolation is called for. The more general form of interpolation, called table interpolation uses tables to store the interpolation kernels. See Section 8.2.5, "Table Interpolation."