Introduction to vImage Programming Guide

vImage, introduced in OS X v10.3, is a high-performance image processing framework. It includes high-level functions for image manipulation—convolutions, geometric transformations, histogram operations, morphological transformations, and alpha compositing—as well as utility functions for format conversions and other operations. You can call vImage functions from applications on the OS X, iOS, tvOS, and watchOS platforms.

vImage optimizes image processing by using the CPU’s vector processor. If a vector processor is not available, vImage uses the next best available option. This framework allows you to reap the benefits of vector processors without the need to write vectorized code.

To understand the information in this document, you should be familiar with Macintosh application development, the C programming language, and the basics of image representation and manipulation.

The vImage framework isn't the only image processing API that OS X provides. Starting in OS X v10.5, you also have the option of using Core Image. vImage is the ideal choice if you need to process large quantities of high-resolution images.

Who Should Read This Document?

This document is for developers who need to write Macintosh programs that process large images quickly. Because technologies such as Quartz 2D and Core Image provide most common image manipulation routines, vImage is not intended for general-purpose image processing. It is particularly suited for:

Organization of This Document

This document is organized into the following chapters:

See Also

You might find these other Apple developer documents of value as you determine your image processing needs: