---
title: Transforming with matrix multiplication
framework: accelerate
role: collectionGroup
role_heading: API Collection
path: accelerate/transforming-with-matrix-multiplication
---

# Transforming with matrix multiplication

Use matrix multiplication to apply color transformations to images.

## Overview

Overview Matrix multiplication functions treat source pixels as m-element vectors, with the number of vector elements corresponding to the number of channels. The functions multiply each source value by an n x m matrix to produce an n-element destination pixel. You can use matrix multiplication functions for tasks like converting between color spaces. For example, you can multiply three-channel RGB pixels by a 4 x 3 matrix to generate four-channel CMYK pixels.

## Topics

### Multiplying multiple-plane pixels by a matrix

- [Adjusting saturation and applying tone mapping](accelerate/adjusting-saturation-and-applying-tone-mapping.md)
- [vImageMatrixMultiply_Planar8(_:_:_:_:_:_:_:_:_:)](accelerate/vimagematrixmultiply_planar8(_:_:_:_:_:_:_:_:_:).md)
- [vImageMatrixMultiply_Planar16S(_:_:_:_:_:_:_:_:_:)](accelerate/vimagematrixmultiply_planar16s(_:_:_:_:_:_:_:_:_:).md)
- [vImageMatrixMultiply_PlanarF(_:_:_:_:_:_:_:_:)](accelerate/vimagematrixmultiply_planarf(_:_:_:_:_:_:_:_:).md)

### Multiplying interleaved pixels by a matrix

- [vImageMatrixMultiply_ARGB8888(_:_:_:_:_:_:_:)](accelerate/vimagematrixmultiply_argb8888(_:_:_:_:_:_:_:).md)
- [vImageMatrixMultiply_ARGBFFFF(_:_:_:_:_:_:)](accelerate/vimagematrixmultiply_argbffff(_:_:_:_:_:_:).md)
- [vImageMatrixMultiply_ARGB8888ToPlanar8(_:_:_:_:_:_:_:)](accelerate/vimagematrixmultiply_argb8888toplanar8(_:_:_:_:_:_:_:).md)
- [vImageMatrixMultiply_ARGBFFFFToPlanarF(_:_:_:_:_:_:)](accelerate/vimagematrixmultiply_argbfffftoplanarf(_:_:_:_:_:_:).md)

## See Also

### Applying color transforms to images

- [Transforming with lookup tables](accelerate/transforming-with-lookup-tables.md)
- [Transforming with polynomials](accelerate/transforming-with-polynomials.md)
- [Transforming with a gamma function](accelerate/transforming-with-a-gamma-function.md)
- [Applying a flood fill to an image](accelerate/applying-a-flood-fill-to-an-image.md)
