The vImage framework, introduced in Mac OS X v10.3, offers a rich set of high-performance image processing functions that transparently make the best use of the hardware that’s available. You don’t need to customize your code for the hardware. If your code runs on a G5, vImage takes advantage of AltiVec. If it runs on an Intel-based Mac, vImage uses SSE. But your code will also run on a PowerPC G3.
You can use vImage to perform these kinds of operations:
Alpha Compositing combines two images, each with its own alpha channel.
Convolution uses weighted sums of the pixels to produce a destination image. You can apply convolution operations to create blur, sharpening, and embossing effects. You can also use them to shift an image horizontally and vertically with subpixel precision, or to swap the order of pixels.
Format conversions allow you to change image data from one format to another.
Geometric operations let you alter an image by rotating, scaling, warping, reflecting, and shearing.
Histograms let you analyze the range of intensities of the pixels in the image as well as to alter an image by changing its histogram.
Morphological operations use a kernel to expand or shrink targeted pixels in an image.
Transformation operations alter the values of pixels in an image using matrix multiplication, gamma correction, rational functions, polynomial functions, or look-up tables.
This chapter defines vImage terminology and describes the data types common to all vImage functions.
Image Formats
Image Buffers
Data Types and 64-Bit Processing
Last updated: 2007-05-11