Image Geometry Transforms

Intel® IPP implements image processing functions that perform geometric operations of resizing, rotating, warping and remapping an image.

Table “Image Geometric Transform Functions” lists the Intel IPP image geometric transform functions:

Image Geometric Transform Functions 
Function Base Name Operation
Resize

THIS FUNCTION IS DEPRECATED.

Changes the size of an image.
ResizeCenter

THIS FUNCTION IS DEPRECATED.

Changes the size of an image and shifts it.
ResizeSqrPixel Changes the size of an image using different interpolation algorithm.
ResizeGetBufSize Computes the size of the external buffer for image resizing.
GetResizeRect Computes the coordinates and size of the resized image.
ResizeSqrPixelGetBufSize

THIS FUNCTION IS DEPRECATED.

Computes the size of the external buffer for image resizing.
GetResizeFract

THIS FUNCTION IS DEPRECATED.

Recalculates resize factors for a tiled image.
ResizeShift

THIS FUNCTION IS DEPRECATED.

Changes the size of an image tile.
SuperSampling Reduces the image size using the super sampling method.
SuperSamplingGetBufSize Computes the size of the external buffer for image reducing with the super sampling method.
ResizeYUV422 Changes the size of an 2-channel image in 4:2:2 sampling format.
ResizeYUV420 Changes the size of an 2-plane image in 4:2:0 sampling format.
ResizeYUV420GetBufSize Calculates the size of the external buffer for resizing a 2-plane 4:2:0 image.
ResizeFilterGetSize Calculates the size of the state structure for resizing filter.
ResizeFilterInit Initializes the state structurer for resizing filter.
ResizeFilter Changes the size of an image using a generic filter.
Mirror Mirrors an image.
Remap Performs arbitrary remapping of pixels in an image.
Rotate Rotates an image around the origin (0,0) and shifts the result.
GetRotateShift Computes the shift values for ippiRotate, given the rotation center and angle.
AddRotateShift Computes shift values for an image rotation around the specified center with specified shifts.
GetRotateQuad Computes the quadrangle that results from an image ROI transformed by ippiRotate function.
GetRotateBound Computes the bounding rectangle for an image ROI transformed by ippiRotate function.
RotateCenter Rotates an image around an arbitrary center.
Shear Performs a shearing transform of an image.
GetShearQuad Computes the quadrangle that results from an image ROI transformed by ippiShear function.
GetShearBound Computes the bounding rectangle for an image ROI transformed by ippiShear function.
WarpAffine Warps an image with an affine transform.
WarpAffineBack Performs an inverse affine transform of an image.
WarpAffineQuad Performs an affine transform of an image from the source quadrangle to the destination quadrangle.
GetAffineQuad Computes the quadrangle that results from an image ROI transformed by ippiWarpAffine function.
GetAffineBound Computes the bounding rectangle for an image ROI transformed by ippiWarpAffine function.
GetAffineTransform Computes the affine transform coefficients.
WarpPerspective Warps an image with a perspective transform.
WarpPerspectiveBack Performs an inverse perspective transform of an image.
WarpPerspectiveQuad Performs a perspective transform of an image from the source quadrangle to the destination quadrangle.
GetPerspectiveQuad Computes the quadrangle that results from an image ROI transformed by ippiWarpPerspective function.
GetPerspectiveBound Computes the bounding rectangle for an image ROI transformed by ippiWarpPerspective function.
GetPerspectiveTransform Computes the perspective transform coefficients.
WarpBilinear Warps an image with a bilinear transform.
WarpBilinearBack Performs an inverse bilinear transform of an image.
WarpBilinearQuad Performs a bilinear transform of an image from the source quadrangle to the destination quadrangle.
GetBilinearQuad Computes the quadrangle that results from an image ROI transformed by ippiWarpBilinear function.
GetBilinearBound Computes the bounding rectangle for an image ROI transformed by ippiWarpBilinear function.
GetBilinearTransform Computes the bilinear transform coefficients.

Most functions performing geometric transform of an image uses some interpolation algorithm to resample the image. The type of interpolation method to be used is passed to the function in the interpolation parameter.

The following interpolation algorithms are used:

nearest neighbor linear interpolation cubic convolution supersampling interpolation using Lanczos window function interpolation with two-parameter cubic filters optional edge smoothing of the destination image.

The nearest neighbor algorithm is the fastest, while other methods yield higher quality results, but are slower.

Use one of the following constant identifiers for the applicable interpolation methods:

IPPI_INTER_NN

Nearest neighbor interpolation.

IPPI_INTER_LINEAR

Linear interpolation.

IPPI_INTER_CUBIC

Cubic interpolation.

IPPI_INTER_LANCZOS

Interpolation using 3-lobed Lanczos window function.

IPPI_INTER_CUBIC2P_BSPLINE

Interpolation using B-spline.

IPPI_INTER_CUBIC2P_CATMULLROM

Interpolation using Catmull-Rom spline.

IPPI_INTER_CUBIC2P_B05C03

Interpolation using special cubic filter.

IPPI_INTER_SUPER

Supersampling interpolation.

For certain functions, you can combine the above interpolation algorithms with additional smoothing (antialiasing) of edges to which the original image borders are transformed. To use this edge smoothing, set the parameter interpolation to the bitwise OR of IPPI_SMOOTH_EDGE or IPPI_SUBPIXEL_EDGE and the desired interpolation mode.

Caution iconCaution

You can use interpolation with edge smoothing option only in those geometric transform functions where this option is explicitly listed in the parameters definition section.

See appendix B “Interpolation in Image Geometric Transform Functions” for more information on the interpolation algorithms that are used in the library.

Intel IPP contains several functions for resizing. The main function is ippiResizeSqrPixel. This function is the particular case of the general affine transform with the 3x2 transformation matrix. It works with different interpolation modes and can be used for general resize operations in image processing, in different mathematic and geometric tasks.

The function SuperSampling is the special function that perform only image reducing using only supersampling interpolation. It can be used for video processing, in which it demonstrates good quality and performance.

Many solutions and hints for use of these functions can be found in Intel® IPP Samples. See Intel IPP® Image Processing and Media Processing Samples downloadable from http://www.intel.com/cd/software/products/asmo-na/eng/220046.htm.


Submit feedback on this help topic

Copyright © 2000 - 2011, Intel Corporation. All rights reserved.