Histogram equalization
Encyclopedia
Histogram equalization is a method in image processing
of contrast
adjustment using the image
's histogram
.
of many images, especially when the usable data
of the image is represented by close contrast values. Through this adjustment, the intensities
can be better distributed on the histogram. This allows for areas of lower local contrast to gain a higher contrast. Histogram equalization accomplishes this by effectively spreading out the most frequent intensity values.
The method is useful in images with backgrounds and foregrounds that are both bright or both dark. In particular, the method can lead to better views of bone
structure in x-ray
images, and to better detail in photographs that are over or under-exposed. A key advantage of the method is that it is a fairly straightforward technique and an invertible operator. So in theory, if the histogram equalization function
is known, then the original histogram can be recovered. The calculation is not computation
ally intensive. A disadvantage of the method is that it is indiscriminate. It may increase the contrast of background noise, while decreasing the usable signal.
In scientific imaging where spatial correlation is more important than intensity of signal (such as separating DNA
fragments of quantized length), the small signal to noise ratio usually hampers visual detection.
Histogram equalization often produces unrealistic effects in photographs; however it is very useful for scientific images like thermal
, satellite
or x-ray
images, often the same class of images that user would apply false-color
to. Also histogram equalization can produce undesirable effects (like visible image gradient
) when applied to images with low color depth
. For example, if applied to 8-bit image displayed with 8-bit gray-scale palette it will further reduce color depth
(number of unique shades of gray) of the image. Histogram equalization will work the best when applied to images with much higher color depth
than palette
size, like continuous
data or 16-bit gray-scale images.
There are two ways to think about and implement histogram equalization, either as image change or as palette
change. The operation can be expressed as P(M(I)) where I is the original image, M is histogram equalization mapping operation and P is a palette. If we define new palette as P'=P(M) and leave image I unchanged then histogram equalization is implemented as palette
change. On the other hand if palette P remains unchanged and image is modified to I'=M(I) then the implementation is by image change. In most cases palette change is better as it preserves the original data.
Generalizations of this method use multiple histograms to emphasize local contrast, rather than overall contrast. Examples of such methods include adaptive histogram equalization
and contrast limiting adaptive histogram equalization or CLAHE.
Histogram equalization also seems to be used in biological neural networks so as to maximize the output firing rate of the neuron as a function of the input statistics. This has been proved in particular in the fly
retina
.
Histogram equalization is a specific case of the more general class of histogram remapping methods. These methods seek to adjust the image to make it easier to analyze or improve visual quality (e.g., retinex)
For each group of pixels taken from the same position from all input single-channel images the function puts the histogram bin value to the destination image, where the coordinates of the bin are determined by the values of pixels in this input group. In terms of statistics, the value of each output image pixel characterizes probability that the corresponding input pixel group belongs to the object whose histogram is used.
{x} and let ni be the number of occurrences of gray level i. The probability of an occurrence of a pixel of level i in the image is
L being the total number of gray levels in the image, n being the total number of pixels in the image, and being in fact the image's histogram for pixel value i, normalized to [0,1].
Let us also define the cumulative distribution function
corresponding to px as,
which is also the image's accumulated normalized histogram.
We would like to create a transformation of the form y = T(x) to produce a new image {y}, such that its CDF will be linearized across the value range, i.e.
for some constant K. The properties of the CDF allow us to perform such a transform (see Cumulative distribution function#Inverse); it is defined as
Notice that the T maps the levels into the range [0,1]. In order to map the values back into their original range, the following simple transformation needs to be applied on the result:
since the relative distributions of the color channels change as a result of applying the algorithm. However, if the image is first converted to another color space, Lab color space
, or HSL/HSV color space in particular, then the algorithm can be applied to the luminance
or value channel without resulting in changes to the hue and saturation of the image .
There are several histogram equalization methods in 3D space. Trahanias and Venetsanopoulos applied histogram equalization in 3D color space However, it results in “whitening” where the probability of bright pixels are higher than that of dark ones . Han et al. proposed to use a new cdf defined by the iso-luminance plane, which results in uniform gray distribution .
. The 8-bit greyscale image shown has the following values:
The histogram for this image is shown in the following table. Pixel values that have a zero count are excluded for the sake of brevity.
The cumulative distribution function
(cdf) is shown below. Again, pixel values that do not contribute to an increase in the cdf are excluded for brevity.
This cdf shows that the minimum value in the subimage is 52 and the maximum value is 154. The cdf of 64 for value 154 coincides with the number of pixels in the image. The cdf must be normalized to . The general histogram equalization formula is:
Where cdfmin is the minimum value of the cumulative distribution function (in this case 1), M × N gives the image's number of pixels (for the example above 64, where M is width and N the height) and L is the number of grey levels used (in most cases, like this one, 256). The equalization formula for this particular example is:
For example, the cdf of 78 is 46. (The value of 78 is used in the bottom row of the 7th column.) The normalized value becomes
Once this is done then the values of the equalized image are directly taken from the normalized cdf to yield the equalized values:
Notice that the minimum value (52) is now 0 and the maximum value (154) is now 255.
Image processing
In electrical engineering and computer science, image processing is any form of signal processing for which the input is an image, such as a photograph or video frame; the output of image processing may be either an image or, a set of characteristics or parameters related to the image...
of contrast
Contrast (vision)
Contrast is the difference in visual properties that makes an object distinguishable from other objects and the background. In visual perception of the real world, contrast is determined by the difference in the color and brightness of the object and other objects within the same field of view...
adjustment using the image
Image
An image is an artifact, for example a two-dimensional picture, that has a similar appearance to some subject—usually a physical object or a person.-Characteristics:...
's histogram
Image histogram
An image histogram is a type of histogram that acts as a graphical representation of the tonal distribution in a digital image. It plots the number of pixels for each tonal value. By looking at the histogram for a specific image a viewer will be able to judge the entire tonal distribution at a...
.
Overview
This method usually increases the global contrastContrast (vision)
Contrast is the difference in visual properties that makes an object distinguishable from other objects and the background. In visual perception of the real world, contrast is determined by the difference in the color and brightness of the object and other objects within the same field of view...
of many images, especially when the usable data
Data
The term data refers to qualitative or quantitative attributes of a variable or set of variables. Data are typically the results of measurements and can be the basis of graphs, images, or observations of a set of variables. Data are often viewed as the lowest level of abstraction from which...
of the image is represented by close contrast values. Through this adjustment, the intensities
Luminous intensity
In photometry, luminous intensity is a measure of the wavelength-weighted power emitted by a light source in a particular direction per unit solid angle, based on the luminosity function, a standardized model of the sensitivity of the human eye...
can be better distributed on the histogram. This allows for areas of lower local contrast to gain a higher contrast. Histogram equalization accomplishes this by effectively spreading out the most frequent intensity values.
The method is useful in images with backgrounds and foregrounds that are both bright or both dark. In particular, the method can lead to better views of bone
Bone
Bones are rigid organs that constitute part of the endoskeleton of vertebrates. They support, and protect the various organs of the body, produce red and white blood cells and store minerals. Bone tissue is a type of dense connective tissue...
structure in x-ray
X-ray
X-radiation is a form of electromagnetic radiation. X-rays have a wavelength in the range of 0.01 to 10 nanometers, corresponding to frequencies in the range 30 petahertz to 30 exahertz and energies in the range 120 eV to 120 keV. They are shorter in wavelength than UV rays and longer than gamma...
images, and to better detail in photographs that are over or under-exposed. A key advantage of the method is that it is a fairly straightforward technique and an invertible operator. So in theory, if the histogram equalization function
Function (mathematics)
In mathematics, a function associates one quantity, the argument of the function, also known as the input, with another quantity, the value of the function, also known as the output. A function assigns exactly one output to each input. The argument and the value may be real numbers, but they can...
is known, then the original histogram can be recovered. The calculation is not computation
Computation
Computation is defined as any type of calculation. Also defined as use of computer technology in Information processing.Computation is a process following a well-defined model understood and expressed in an algorithm, protocol, network topology, etc...
ally intensive. A disadvantage of the method is that it is indiscriminate. It may increase the contrast of background noise, while decreasing the usable signal.
In scientific imaging where spatial correlation is more important than intensity of signal (such as separating DNA
DNA
Deoxyribonucleic acid is a nucleic acid that contains the genetic instructions used in the development and functioning of all known living organisms . The DNA segments that carry this genetic information are called genes, but other DNA sequences have structural purposes, or are involved in...
fragments of quantized length), the small signal to noise ratio usually hampers visual detection.
Histogram equalization often produces unrealistic effects in photographs; however it is very useful for scientific images like thermal
Thermography
Infrared thermography, thermal imaging, and thermal video are examples of infrared imaging science. Thermal imaging cameras detect radiation in the infrared range of the electromagnetic spectrum and produce images of that radiation, called thermograms...
, satellite
Satellite
In the context of spaceflight, a satellite is an object which has been placed into orbit by human endeavour. Such objects are sometimes called artificial satellites to distinguish them from natural satellites such as the Moon....
or x-ray
X-ray
X-radiation is a form of electromagnetic radiation. X-rays have a wavelength in the range of 0.01 to 10 nanometers, corresponding to frequencies in the range 30 petahertz to 30 exahertz and energies in the range 120 eV to 120 keV. They are shorter in wavelength than UV rays and longer than gamma...
images, often the same class of images that user would apply false-color
False-color
A false-color image is an image that depicts a subject in colors that differ from those a full-color photograph would show.-True- and false-color:...
to. Also histogram equalization can produce undesirable effects (like visible image gradient
Image gradient
An image gradient is a directional change in the intensity or color in an image. Image gradients may be used to extract information from images....
) when applied to images with low color depth
Color depth
In computer graphics, color depth or bit depth is the number of bits used to represent the color of a single pixel in a bitmapped image or video frame buffer. This concept is also known as bits per pixel , particularly when specified along with the number of bits used...
. For example, if applied to 8-bit image displayed with 8-bit gray-scale palette it will further reduce color depth
Color depth
In computer graphics, color depth or bit depth is the number of bits used to represent the color of a single pixel in a bitmapped image or video frame buffer. This concept is also known as bits per pixel , particularly when specified along with the number of bits used...
(number of unique shades of gray) of the image. Histogram equalization will work the best when applied to images with much higher color depth
Color depth
In computer graphics, color depth or bit depth is the number of bits used to represent the color of a single pixel in a bitmapped image or video frame buffer. This concept is also known as bits per pixel , particularly when specified along with the number of bits used...
than palette
Palette (computing)
In computer graphics, a palette is either a given, finite set of colors for the management of digital images , or a small on-screen graphical element for choosing from a limited set of choices, not necessarily colors .Depending on the context In computer graphics, a palette is either a given,...
size, like continuous
Continuous function
In mathematics, a continuous function is a function for which, intuitively, "small" changes in the input result in "small" changes in the output. Otherwise, a function is said to be "discontinuous". A continuous function with a continuous inverse function is called "bicontinuous".Continuity of...
data or 16-bit gray-scale images.
There are two ways to think about and implement histogram equalization, either as image change or as palette
Palette (computing)
In computer graphics, a palette is either a given, finite set of colors for the management of digital images , or a small on-screen graphical element for choosing from a limited set of choices, not necessarily colors .Depending on the context In computer graphics, a palette is either a given,...
change. The operation can be expressed as P(M(I)) where I is the original image, M is histogram equalization mapping operation and P is a palette. If we define new palette as P'=P(M) and leave image I unchanged then histogram equalization is implemented as palette
Palette (computing)
In computer graphics, a palette is either a given, finite set of colors for the management of digital images , or a small on-screen graphical element for choosing from a limited set of choices, not necessarily colors .Depending on the context In computer graphics, a palette is either a given,...
change. On the other hand if palette P remains unchanged and image is modified to I'=M(I) then the implementation is by image change. In most cases palette change is better as it preserves the original data.
Generalizations of this method use multiple histograms to emphasize local contrast, rather than overall contrast. Examples of such methods include adaptive histogram equalization
Adaptive histogram equalization
Adaptive histogram equalization is a computer image processing technique used to improve contrast in images. It differs from ordinary histogram equalization in the respect that the adaptive method computes several histograms, each corresponding to a distinct section of the image, and uses them to...
and contrast limiting adaptive histogram equalization or CLAHE.
Histogram equalization also seems to be used in biological neural networks so as to maximize the output firing rate of the neuron as a function of the input statistics. This has been proved in particular in the fly
Fly
True flies are insects of the order Diptera . They possess a pair of wings on the mesothorax and a pair of halteres, derived from the hind wings, on the metathorax...
retina
Retina
The vertebrate retina is a light-sensitive tissue lining the inner surface of the eye. The optics of the eye create an image of the visual world on the retina, which serves much the same function as the film in a camera. Light striking the retina initiates a cascade of chemical and electrical...
.
Histogram equalization is a specific case of the more general class of histogram remapping methods. These methods seek to adjust the image to make it easier to analyze or improve visual quality (e.g., retinex)
Back projection
The back projection (or "back project") of a histogrammed image is the re-application of the modified histogram to the original image, functioning as a look-up table for pixel brightness values.For each group of pixels taken from the same position from all input single-channel images the function puts the histogram bin value to the destination image, where the coordinates of the bin are determined by the values of pixels in this input group. In terms of statistics, the value of each output image pixel characterizes probability that the corresponding input pixel group belongs to the object whose histogram is used.
Implementation
Consider a discrete grayscale imageGrayscale
In photography and computing, a grayscale or greyscale digital image is an image in which the value of each pixel is a single sample, that is, it carries only intensity information...
{x} and let ni be the number of occurrences of gray level i. The probability of an occurrence of a pixel of level i in the image is
L being the total number of gray levels in the image, n being the total number of pixels in the image, and being in fact the image's histogram for pixel value i, normalized to [0,1].
Let us also define the cumulative distribution function
Cumulative distribution function
In probability theory and statistics, the cumulative distribution function , or just distribution function, describes the probability that a real-valued random variable X with a given probability distribution will be found at a value less than or equal to x. Intuitively, it is the "area so far"...
corresponding to px as,
which is also the image's accumulated normalized histogram.
We would like to create a transformation of the form y = T(x) to produce a new image {y}, such that its CDF will be linearized across the value range, i.e.
for some constant K. The properties of the CDF allow us to perform such a transform (see Cumulative distribution function#Inverse); it is defined as
Notice that the T maps the levels into the range [0,1]. In order to map the values back into their original range, the following simple transformation needs to be applied on the result:
Histogram equalization of color images
The above describes histogram equalization on a grayscale image. However it can also be used on color images by applying the same method separately to the Red, Green and Blue components of the RGB color values of the image. However, applying the same method on the Red, Green, and Blue components of an RGB image may yield dramatic changes in the image's color balanceColor balance
In photography and image processing, color balance is the global adjustment of the intensities of the colors . An important goal of this adjustment is to render specific colors – particularly neutral colors – correctly; hence, the general method is sometimes called gray balance, neutral balance,...
since the relative distributions of the color channels change as a result of applying the algorithm. However, if the image is first converted to another color space, Lab color space
Lab color space
A Lab color space is a color-opponent space with dimension L for lightness and a and b for the color-opponent dimensions, based on nonlinearly compressed CIE XYZ color space coordinates....
, or HSL/HSV color space in particular, then the algorithm can be applied to the luminance
Luminance
Luminance is a photometric measure of the luminous intensity per unit area of light travelling in a given direction. It describes the amount of light that passes through or is emitted from a particular area, and falls within a given solid angle. The SI unit for luminance is candela per square...
or value channel without resulting in changes to the hue and saturation of the image .
There are several histogram equalization methods in 3D space. Trahanias and Venetsanopoulos applied histogram equalization in 3D color space However, it results in “whitening” where the probability of bright pixels are higher than that of dark ones . Han et al. proposed to use a new cdf defined by the iso-luminance plane, which results in uniform gray distribution .
Small image
The following is the same 8x8 subimage as used in JPEGJPEG
In computing, JPEG . The degree of compression can be adjusted, allowing a selectable tradeoff between storage size and image quality. JPEG typically achieves 10:1 compression with little perceptible loss in image quality....
. The 8-bit greyscale image shown has the following values:
The histogram for this image is shown in the following table. Pixel values that have a zero count are excluded for the sake of brevity.
Value | Count | Value | Count | Value | Count | Value | Count | Value | Count |
---|---|---|---|---|---|---|---|---|---|
52 | 1 | 64 | 2 | 72 | 1 | 85 | 2 | 113 | 1 |
55 | 3 | 65 | 3 | 73 | 2 | 87 | 1 | 122 | 1 |
58 | 2 | 66 | 2 | 75 | 1 | 88 | 1 | 126 | 1 |
59 | 3 | 67 | 1 | 76 | 1 | 90 | 1 | 144 | 1 |
60 | 1 | 68 | 5 | 77 | 1 | 94 | 1 | 154 | 1 |
61 | 4 | 69 | 3 | 78 | 1 | 104 | 2 | ||
62 | 1 | 70 | 4 | 79 | 2 | 106 | 1 | ||
63 | 2 | 71 | 2 | 83 | 1 | 109 | 1 |
The cumulative distribution function
Cumulative distribution function
In probability theory and statistics, the cumulative distribution function , or just distribution function, describes the probability that a real-valued random variable X with a given probability distribution will be found at a value less than or equal to x. Intuitively, it is the "area so far"...
(cdf) is shown below. Again, pixel values that do not contribute to an increase in the cdf are excluded for brevity.
Value | cdf | Value | cdf | Value | cdf | Value | cdf | Value | cdf |
---|---|---|---|---|---|---|---|---|---|
52 | 1 | 64 | 19 | 72 | 40 | 85 | 51 | 113 | 60 |
55 | 4 | 65 | 22 | 73 | 42 | 87 | 52 | 122 | 61 |
58 | 6 | 66 | 24 | 75 | 43 | 88 | 53 | 126 | 62 |
59 | 9 | 67 | 25 | 76 | 44 | 90 | 54 | 144 | 63 |
60 | 10 | 68 | 30 | 77 | 45 | 94 | 55 | 154 | 64 |
61 | 14 | 69 | 33 | 78 | 46 | 104 | 57 | ||
62 | 15 | 70 | 37 | 79 | 48 | 106 | 58 | ||
63 | 17 | 71 | 39 | 83 | 49 | 109 | 59 |
This cdf shows that the minimum value in the subimage is 52 and the maximum value is 154. The cdf of 64 for value 154 coincides with the number of pixels in the image. The cdf must be normalized to . The general histogram equalization formula is:
Where cdfmin is the minimum value of the cumulative distribution function (in this case 1), M × N gives the image's number of pixels (for the example above 64, where M is width and N the height) and L is the number of grey levels used (in most cases, like this one, 256). The equalization formula for this particular example is:
For example, the cdf of 78 is 46. (The value of 78 is used in the bottom row of the 7th column.) The normalized value becomes
Once this is done then the values of the equalized image are directly taken from the normalized cdf to yield the equalized values:
Notice that the minimum value (52) is now 0 and the maximum value (154) is now 255.
Original | Equalized |