2. Introduction
Contrast Limited AHE (CLAHE) differs from ordinary
adaptive histogram equalization in its contrast limiting.
This feature can also be applied to global histogram
equalization, giving rise to contrast limited histogram
equalization (CLHE), which is rarely used in practice.
In the case of CLAHE, the contrast limiting procedure has
to be applied for each neighborhood from which a
transformation function is derived.
CLAHE was developed to prevent the over amplification of
noise that adaptive histogram equalization can give rise
to.[1]
4. Description
J = adapthisteq(I) , enhances the contrast of the grayscale
image I by transforming the values using contrast-limited
adaptive histogram equalization (CLAHE).
CLAHE operates on small regions in the image, called tiles,
rather than the entire image.
Each tile's contrast is enhanced, so that the histogram of
the output region approximately matches the histogram
specified by the 'Distribution' parameter.
The neighboring tiles are then combined using bilinear
interpolation to eliminate artificially induced boundaries.
5. Cont…
The contrast, especially in homogeneous areas, can be
limited to avoid amplifying any noise that might be present
in the image.[3]
6. Remarks
Real scalar in the range [0 1], that
Clip limit specifies the contrast enhancement
limit. Higher number result in more
contrast.
Default 0.01.
String specify the desires histogram
Distribution shape for the image tiles.
• uniform-flat histogram
•Rayleigh-bell shaped histogram
•Exponential-curved histogram
Default „uniform‟.[4]
7. Algorithm
Obtain all the inputs: Image, Number of regions in row and column
directions, Number of bins for the histograms used in building image
transform function (dynamic range), Clip limit for contrast limiting
(normalized from 0 to 1).
Pre-process the inputs: Determine real clip limit from the normalized
value if necessary, pad the image before splitting it into regions.
Process each contextual region (tile) thus producing gray level
mappings: Extract a single image region, make a histogram for this
region using the specified number of bins, clip the histogram using clip
limit, create a mapping (transformation function) for this region.
Interpolate gray level mappings in order to assemble final CLAHE
image: Extract cluster of four neighboring mapping functions, process
image region partly overlapping each of the mapping tiles, extract a
single pixel, apply four mappings to that pixel, and interpolate between
the results to obtain the output pixel; repeat over the entire image.[5]
9. Classes supported by CLAHE
Class Support [6] :-
Grayscale image I can be of class uint8, uint16, int16,
single, or double.
The output image J has the same class as I.
10. Example of CLAHE
Coding :-
Apply Contrast-limited Adaptive Histogram Equalization
(CLAHE) to an image and display the results.
I = imread(„a.jpg');
A = adapthisteq(I,'clipLimit',0.02,'Distribution','rayleigh');
figure, imshow(I);
figure, imshow(A);
13. Application areas of CLAHE
Contrast Enhancement for Mammogram Images: to
highlight the finer hidden details in mammogram images
and to adjust the level of contrast enhancement.
Brightness preserving contrast enhancement of medical
images.
Face identification using CLAHE.
Contrast limited adaptive histogram specification (CLAHS)
to deal with the inherent non uniform lighting in
underwater imagery.
Chest computer tomography (CT) images
14. Advantages
CLAHE was developed to prevent the over amplification of
noise that adaptive histogram equalization can give rise
to.[7]
CLAHE, though able to increase contrast more than other
techniques.
It introduces large changes in the pixel gray levels.
CLAHE may lead to introduction of the processing artifacts
and affect of decision making process.[8]
15. Disadvantages
It operates on small data regions (tiles), rather than the
entire image.
It is computationally expensive (in software).
It is quite complex (in hardware).
Implementing recursion in hardware can be complex,
necessitating the implementation of control flow and of
storage for intermediate results.
Time-consuming, as recursions are performed sequentially.
16. References
[1] Introduction, “Wikipedia.com”.
[2] Specification, “ MATLAB”.
[3] Description, “MATLAB”.
[4] Remarks, “MATLAB”.
[5] Algorithm, “Rajesh Garg, Bhawna Mittal, Sheetal Garg,
“Histogram Equalization Techniques For Image
Enhancement”, IJECT Vol. 2, Issue 1, March 2011.
[6] Class Support, “MATLAB”.
[7] Advantage, CLAHE was developed to, “Wikipedia.com”.
[8] Advantage, CLAHE ,though able to, “slide share.com”.