Readablewiki

Adaptive histogram equalization

Content sourced from Wikipedia, licensed under CC BY-SA 3.0.

Adaptive histogram equalization (AHE) is a method to improve image contrast by applying histogram equalization locally rather than across the whole image. Instead of using one single mapping for all pixels, AHE builds a separate histogram for a region around each pixel and uses the local cumulative distribution function (CDF) to map the pixel value. This boosts contrast and makes edges in each area of the image clearer.

However, AHE can amplify noise in flat or near-uniform areas. A common improvement is contrast limited AHE (CLAHE), which limits how much the local histogram can be amplified by clipping the histogram at a chosen level before computing the CDF. Excess counts beyond the clip are redistributed across all bins, which helps reduce noise amplification; the effective clip limit can depend on the image and the neighborhood size.

In simple AHE, each pixel is transformed using a neighborhood histogram, which is computationally expensive because a new histogram and transformation are needed for every pixel. Boundary handling is done by extending the image (for example, by mirroring) so every pixel has a full neighborhood.

To make AHE practical, several efficiency techniques are used. One common approach is tiling: divide the image into small tiles, compute a histogram and CDF for each tile, and then transform pixels using the tile centers. Pixel values are then interpolated from the surrounding tiles (bilinear in the image interior, linear near edges, and using corner tiles for corners) to keep the result smooth while reducing the number of histograms that must be computed.

Another approach is Sliding Window AHE (SWAHE), which updates the neighborhood histogram incrementally as the window slides across the image. This avoids recomputing histograms from scratch and can reduce the complexity from quadratic to linear with respect to the image size, removing the need for a final interpolation step.


This page was last edited on 2 February 2026, at 02:13 (CET).