vImage
Manipulate large images using the CPU’s vector processor.
Overview
vImage is a high-performance image processing framework. It includes 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.
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.
vImage is particularly suited for:
Efficiently processing large images
Real-time video processing software
Scientific applications that require high-accuracy numerical calculations
Topics
First Steps
Converting bitmap data between Core Graphics images and vImage buffersCreating and Populating Buffers from Core Graphics ImagesCreating a Core Graphics Image from a vImage BufferBuilding a Basic Image-Processing WorkflowCompositing images with alpha blendingCompositing images with vImage blend modesApplying geometric transforms to imagesApplying vImage operations to regions of interest
Swift Overlay
vImage Pixel Buffers
Using vImage pixel buffers to generate video effectsApplying tone curve adjustments to imagesAdjusting the brightness and contrast of an imageAdjusting the hue of an imageSharing texture data between the Model I/O framework and the vImage libraryCalculating the dominant colors in an imagevImage.PixelBuffer
vImage Buffers
Core Graphics Interoperability
Core Video Interoperability
Integrating vImage pixel buffers into a Core Image workflowApplying vImage operations to video sample buffersConverting luminance and chrominance planes to an ARGB imageImproving the quality of quantized images with ditheringCore Video interoperability
vImage Operations
Adjusting saturation and applying tone mappingBlurring an imageAdding a bokeh effect to imagesConverting color images to grayscaleBuilding a basic image conversion workflowSpecifying histograms with vImageEnhancing image contrast with histogram manipulationReducing artifacts with custom resampling filtersFinding the sharpest image in a sequence of captured imagesvImage Operations
Data Types and Constants
Macros
See Also
Image Processing Essentials
Converting bitmap data between Core Graphics images and vImage buffersCreating and Populating Buffers from Core Graphics ImagesCreating a Core Graphics Image from a vImage BufferBuilding a Basic Image-Processing WorkflowApplying geometric transforms to imagesCompositing images with alpha blendingCompositing images with vImage blend modesApplying vImage operations to regions of interestOptimizing image-processing performance