Image Processing Toolbox User's Guide Previous page   Next Page
adapthisteq

Perform contrast-limited adaptive histogram equalization (CLAHE)

Syntax

Description

J = adapthisteq(I) enhances the contrast of the intensity 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. The contrast, especially in homogeneous areas, can be limited to avoid amplifying any noise that might be present in the image.

J = adapthisteq(I,param1,val1,param2,val2...) specifies any of the additional parameter/value pairs listed in the following table. Parameter names can be abbreviated, and case does not matter.

Parameter
Value
'NumTiles'

Two-element vector of positive integers specifying the number of tiles by row and column, [M N]. Both M and N must be at least 2. The total number of tiles is equal to M*N.

Default: [8 8]
'ClipLimit'

Real scalar in the range [0 1] that specifies a contrast enhancement limit. Higher numbers result in more contrast.

Default: 0.01

'NBins'

Positive integer scalar specifying the number of bins for the histogram used in building a contrast enhancing transformation. Higher values result in greater dynamic range at the cost of slower processing speed.

Default: 256

'Range'

String specifying the range of the output image data.

'original' -- Range is limited to the range of the original image, [min(I(:)) max(I(:))].

'full' -- Full range of the output image class is used. For example, for uint8 data, range is [0 255].

Default: 'full'

'Distribution'

String specifying the desired histogram shape for the image tiles.

'uniform' -- Flat histogram

'rayleigh' -- Bell-shaped histogram

'exponential' -- Curved histogram

Default: 'uniform'

'Alpha'

Nonnegative real scalar specifying a distribution parameter.

Default: 0.4

Note: Only used when 'Distribution' is set to either 'rayleigh' or 'exponential'.

Class Support

Intensity image I can be of class uint8, uint16, int16, single, or double. The output image J has the same class as I.

Example

This example applies Contrast-Limited Adaptive Histogram Equalization (CLAHE) to an image and display the results.

This example applies CLAHE to a color photograph.

See Also

histeq


Previous page  Functions -- Alphabetical List applycform Next page

© 1994-2005 The MathWorks, Inc.