Histogram equalization (HE) is a method to obtain a
unique input to output contrast transfer function based
upon on the histogram of the input image. HE results in a
contrast transfer curve that stretches the peaks of the
histogram (where more information is present) and
compresses the troughs of the histogram (where less
information is present). Thus it is a special case of the
contrast shaping technique. As a stand alone technique,
HE has been used extensively in medical imaging,
satellite imagery and other applications where the
emphasis is on pattern recognition and bringing out of
hidden details. HE by itself results in too much
enhancement and artifacts like contouring which is
unacceptable in consumer electronics. Many techniques
have been proposed to deal with these problems. In [4],
the histogram is divided into two parts based on the input
mean, and each part is equalized separately. This
preserves the mean of the image to a certain extent. In
[5], each peak of the histogram is equalized separately.
An adaptation of HE, termed as Contrast Limited
Adaptive HE (CLAHE) [6] divides the input image into a
number of equal sized blocks and then performs contrast
limited HE on each block. Contrast limiting is done by
clipping the histogram before HE. This tends to tone
down the over enhancement effect of HE and gives a
more localized enhancement. However it is much more
computationally intensive than HE. If the blocks are nonoverlapping,
an interpolation scheme is needed to prevent
blocky artifacts in the output picture. Using overlapping
blocks can solve this problem (every pixel is replaced by
the HE output using a neighborhood) but is more
computationally intensive than using non-overlapping
blocks. CLAHE also requires a field store