---
title: Applying color transforms to pixel buffers
framework: accelerate
role: collectionGroup
role_heading: API Collection
path: accelerate/applying-color-transforms-to-pixel-buffers
---

# Applying color transforms to pixel buffers

Adjust the colors of an image by applying gamma, polynomials, or multidimensional lookup.

## Topics

### Applying gamma

- [applyGamma(_:intermediateBuffer:destination:)](accelerate/vimage/pixelbuffer/applygamma(_:intermediatebuffer:destination:)-1fif9.md)
- [applyGamma(_:intermediateBuffer:destination:)](accelerate/vimage/pixelbuffer/applygamma(_:intermediatebuffer:destination:)-390k5.md)
- [applyGamma(_:intermediateBuffer:destination:)](accelerate/vimage/pixelbuffer/applygamma(_:intermediatebuffer:destination:)-3yu0w.md)
- [applyGamma(_:intermediateBuffer:destination:)](accelerate/vimage/pixelbuffer/applygamma(_:intermediatebuffer:destination:)-wsww.md)
- [applyGamma(_:destination:)](accelerate/vimage/pixelbuffer/applygamma(_:destination:).md)
- [vImage.Gamma](accelerate/vimage/gamma.md)

### Applying piecewise gamma

- [applyGamma(linearParameters:exponentialParameters:boundary:destination:)](accelerate/vimage/pixelbuffer/applygamma(linearparameters:exponentialparameters:boundary:destination:)-249w5.md)
- [applyGamma(linearParameters:exponentialParameters:boundary:destination:)](accelerate/vimage/pixelbuffer/applygamma(linearparameters:exponentialparameters:boundary:destination:)-8r0ro.md)

### Appying polynomial (32-bit source, 8-bit destination)

- [applyPolynomial(coefficientSegments:boundaries:destination:)](accelerate/vimage/pixelbuffer/applypolynomial(coefficientsegments:boundaries:destination:)-3b0d0.md)
- [applyPolynomial(coefficientSegments:boundaries:destination:)](accelerate/vimage/pixelbuffer/applypolynomial(coefficientsegments:boundaries:destination:)-6uls3.md)
- [applyPolynomial(coefficientSegments:boundaries:destination:)](accelerate/vimage/pixelbuffer/applypolynomial(coefficientsegments:boundaries:destination:)-4r6nf.md)
- [applyPolynomial(coefficientSegments:boundaries:destination:)](accelerate/vimage/pixelbuffer/applypolynomial(coefficientsegments:boundaries:destination:)-1b2nu.md)

### Appying polynomial (8-bit source, 32-bit destination)

- [applyPolynomial(coefficientSegments:boundaries:destination:)](accelerate/vimage/pixelbuffer/applypolynomial(coefficientsegments:boundaries:destination:)-7sy2t.md)
- [applyPolynomial(coefficientSegments:boundaries:destination:)](accelerate/vimage/pixelbuffer/applypolynomial(coefficientsegments:boundaries:destination:)-3sxxv.md)
- [applyPolynomial(coefficientSegments:boundaries:destination:)](accelerate/vimage/pixelbuffer/applypolynomial(coefficientsegments:boundaries:destination:)-4o5ju.md)
- [applyPolynomial(coefficientSegments:boundaries:destination:)](accelerate/vimage/pixelbuffer/applypolynomial(coefficientsegments:boundaries:destination:)-6ohrj.md)

### Appying polynomial (32-bit)

- [applyPolynomial(coefficientSegments:boundaries:destination:)](accelerate/vimage/pixelbuffer/applypolynomial(coefficientsegments:boundaries:destination:)-3c46t.md)
- [applyPolynomial(coefficientSegments:boundaries:destination:)](accelerate/vimage/pixelbuffer/applypolynomial(coefficientsegments:boundaries:destination:)-8f5i9.md)
- [applyPolynomial(coefficientSegments:boundaries:destination:)](accelerate/vimage/pixelbuffer/applypolynomial(coefficientsegments:boundaries:destination:)-26zom.md)
- [applyPolynomial(coefficientSegments:boundaries:destination:)](accelerate/vimage/pixelbuffer/applypolynomial(coefficientsegments:boundaries:destination:)-8uesn.md)

### Transforming with a lookup table

- [applyLookup(_:destination:)](accelerate/vimage/pixelbuffer/applylookup(_:destination:)-5r7bq.md)
- [applyLookup(_:destination:)](accelerate/vimage/pixelbuffer/applylookup(_:destination:)-14pjo.md)
- [applyLookup(_:destination:)](accelerate/vimage/pixelbuffer/applylookup(_:destination:)-5oi4o.md)
- [applyLookup(_:destination:)](accelerate/vimage/pixelbuffer/applylookup(_:destination:)-3ruls.md)
- [applyLookup(_:destination:)](accelerate/vimage/pixelbuffer/applylookup(_:destination:)-1tsb5.md)
- [applyLookup(alphaTable:redTable:greenTable:blueTable:destination:)](accelerate/vimage/pixelbuffer/applylookup(alphatable:redtable:greentable:bluetable:destination:).md)

### Transforming with a multidimensional lookup table

- [vImage.MultidimensionalLookupTable](accelerate/vimage/multidimensionallookuptable.md)

### Applying a flood fill to an image

- [floodFill(from:newColor:connectivity:)](accelerate/vimage/pixelbuffer/floodfill(from:newcolor:connectivity:)-44z7t.md)
- [floodFill(from:newColor:connectivity:)](accelerate/vimage/pixelbuffer/floodfill(from:newcolor:connectivity:)-56w4b.md)
- [floodFill(from:newColor:connectivity:)](accelerate/vimage/pixelbuffer/floodfill(from:newcolor:connectivity:)-219lg.md)
- [floodFill(from:newColor:connectivity:)](accelerate/vimage/pixelbuffer/floodfill(from:newcolor:connectivity:)-6hsrg.md)

## See Also

### Pixel buffer operations

- [Applying geometric operations to pixel buffers](accelerate/applying-geometric-operations-to-pixel-buffers.md)
- [Blending and compositing pixel buffers](accelerate/blending-and-compositing-pixel-buffers.md)
- [Convolving and applying morphology](accelerate/convolving-and-applying-morphology.md)
- [Thresholding and clipping pixel buffer values](accelerate/thresholding-and-clipping-pixel-buffer-values.md)
- [Calculating and transforming histograms](accelerate/calculating-and-transforming-histograms.md)
- [Converting pixel buffers](accelerate/converting-pixel-buffers.md)
- [Interleaving and deinterleaving pixel buffers](accelerate/interleaving-and-deinterleaving-pixel-buffers.md)
- [Cropping and working with regions of interest](accelerate/cropping-and-working-with-regions-of-interest.md)
- [Applying channel operations](accelerate/applying-channel-operations.md)
- [Applying arithmetic operations](accelerate/applying-arithmetic-operations.md)
