---
title: "equalizeHistogram(binCount:destination:)"
framework: accelerate
role: symbol
role_heading: Instance Method
path: "accelerate/vimage/pixelbuffer/equalizehistogram(bincount:destination:)-6on8w"
---

# equalizeHistogram(binCount:destination:)

Equalizes the histogram of a 32-bit-per-channel, 4-channel interleaved pixel buffer.

## Declaration

```swift
func equalizeHistogram(binCount: Int, destination: vImage.PixelBuffer<vImage.InterleavedFx4>)
```

## Parameters

- `binCount`: The number of histogram entries for each channel.
- `destination`: The destination pixel buffer.

## Discussion

Discussion Use this function to transform an image so that its histogram is more uniformly distributed across the entire range of values. For example, the following code equalizes the histogram of an image: let srcImage =  imageLiteral(resourceName: " ... ").cgImage(     forProposedRect: nil,     context: nil,     hints: nil)!

var cgImageFormat = vImage_CGImageFormat(     bitsPerComponent: 32,     bitsPerPixel: 32 * 4,     colorSpace: CGColorSpaceCreateDeviceRGB(),     bitmapInfo: CGBitmapInfo(rawValue: CGBitmapInfo.byteOrder32Little.rawValue |                              CGBitmapInfo.floatComponents.rawValue |                              CGImageAlphaInfo.noneSkipFirst.rawValue))!

let buffer = try vImage.PixelBuffer(     cgImage: srcImage,     cgImageFormat: &cgImageFormat,     pixelFormat: vImage.InterleavedFx4.self)

buffer.equalizeHistogram(binCount: 1024,                          destination: buffer)

let outputImage = buffer.makeCGImage(cgImageFormat: cgImageFormat)

## See Also

### Related Documentation

- [Enhancing image contrast with histogram manipulation](accelerate/enhancing-image-contrast-with-histogram-manipulation.md)

### Equalization

- [equalizeHistogram(destination:)](accelerate/vimage/pixelbuffer/equalizehistogram(destination:)-7temg.md)
- [equalizeHistogram(binCount:destination:)](accelerate/vimage/pixelbuffer/equalizehistogram(bincount:destination:)-5iv0q.md)
- [equalizeHistogram(destination:)](accelerate/vimage/pixelbuffer/equalizehistogram(destination:)-2gbmf.md)
- [equalizeHistogram(destination:)](accelerate/vimage/pixelbuffer/equalizehistogram(destination:)-939xn.md)
- [equalizeHistogram(binCount:destination:)](accelerate/vimage/pixelbuffer/equalizehistogram(bincount:destination:)-59li2.md)
