<!--
{
  "documentType" : "article",
  "framework" : "Accelerate",
  "identifier" : "/documentation/Accelerate/vimage-library",
  "metadataVersion" : "0.1.0",
  "role" : "collectionGroup",
  "title" : "vImage"
}
-->

# vImage

Manipulate large images using the CPU’s vector processor.

## Discussion

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

  <doc://com.apple.accelerate/documentation/Accelerate/converting-bitmap-data-between-core-graphics-images-and-vimage-buffers>

  <doc://com.apple.accelerate/documentation/Accelerate/creating-and-populating-buffers-from-core-graphics-images>

  <doc://com.apple.accelerate/documentation/Accelerate/creating-a-core-graphics-image-from-a-vimage-buffer>

  <doc://com.apple.accelerate/documentation/Accelerate/building-a-basic-image-processing-workflow>

  <doc://com.apple.accelerate/documentation/Accelerate/compositing-images-with-alpha-blending>

  <doc://com.apple.accelerate/documentation/Accelerate/compositing-images-with-vimage-blend-modes>

  <doc://com.apple.accelerate/documentation/Accelerate/applying-geometric-transforms-to-images>

  <doc://com.apple.accelerate/documentation/Accelerate/applying-vimage-operations-to-regions-of-interest>

### Swift Overlay

[`enum vImage`](/documentation/Accelerate/vImage)

An enumeration that acts as a namespace for Swift overlays to vImage.

### vImage Pixel Buffers

  <doc://com.apple.accelerate/documentation/Accelerate/using-vimage-pixel-buffers-to-generate-video-effects>

  <doc://com.apple.accelerate/documentation/Accelerate/applying-tone-curve-adjustments-to-images>

  <doc://com.apple.accelerate/documentation/Accelerate/adjusting-the-brightness-and-contrast-of-an-image>

  <doc://com.apple.accelerate/documentation/Accelerate/adjusting-the-hue-of-an-image>

  <doc://com.apple.accelerate/documentation/Accelerate/sharing-texture-data-between-the-model-io-framework-and-the-vimage-library>

  <doc://com.apple.accelerate/documentation/Accelerate/calculating-the-dominant-colors-in-an-image>

[`struct PixelBuffer`](/documentation/Accelerate/vImage/PixelBuffer)

An image buffer that stores an image’s pixel data, dimensions, bit depth, and number of channels.

### vImage Buffers

  <doc://com.apple.accelerate/documentation/Accelerate/optimizing-image-processing-performance>

  <doc://com.apple.accelerate/documentation/Accelerate/vimage-buffers>

### Core Graphics Interoperability

  <doc://com.apple.accelerate/documentation/Accelerate/core-graphics-interoperability>

### Core Video Interoperability

  <doc://com.apple.accelerate/documentation/Accelerate/integrating-vimage-pixel-buffers-into-a-core-image-workflow>

  <doc://com.apple.accelerate/documentation/Accelerate/applying-vimage-operations-to-video-sample-buffers>

  <doc://com.apple.accelerate/documentation/Accelerate/converting-luminance-and-chrominance-planes-to-an-argb-image>

  <doc://com.apple.accelerate/documentation/Accelerate/improving-the-quality-of-quantized-images-with-dithering>

  <doc://com.apple.accelerate/documentation/Accelerate/core-video-interoperability>

### vImage Operations

  <doc://com.apple.accelerate/documentation/Accelerate/adjusting-saturation-and-applying-tone-mapping>

  <doc://com.apple.accelerate/documentation/Accelerate/blurring-an-image>

  <doc://com.apple.accelerate/documentation/Accelerate/adding-a-bokeh-effect-to-images>

  <doc://com.apple.accelerate/documentation/Accelerate/converting-color-images-to-grayscale>

  <doc://com.apple.accelerate/documentation/Accelerate/building-a-basic-image-conversion-workflow>

  <doc://com.apple.accelerate/documentation/Accelerate/specifying-histograms-with-vimage>

  <doc://com.apple.accelerate/documentation/Accelerate/enhancing-image-contrast-with-histogram-manipulation>

  <doc://com.apple.accelerate/documentation/Accelerate/reducing-artifacts-with-custom-resampling-filters>

  <doc://com.apple.accelerate/documentation/Accelerate/finding-the-sharpest-image-in-a-sequence-of-captured-images>

  <doc://com.apple.accelerate/documentation/Accelerate/vimage-operations>

### Data Types and Constants

  <doc://com.apple.accelerate/documentation/Accelerate/data-types-and-constants>

### Macros

  <doc://com.apple.accelerate/documentation/Accelerate/vimage-macros>



---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)