An example of histogram matching

In image processing, histogram matching or histogram specification is the transformation of an image so that its histogram matches a specified histogram.[1] The well-known histogram equalization method is a special case in which the specified histogram is uniformly distributed.[2]

It is possible to use histogram matching to balance detector responses as a relative detector calibration technique. It can be used to normalize two images, when the images were acquired at the same local illumination (such as shadows) over the same location, but by different sensors, atmospheric conditions or global illumination.

Implementation

edit

Consider a grayscale input image X. It has a probability density function pr(r), where r is a grayscale value, and pr(r) is the probability of that value. This probability can easily be computed from the histogram of the image by

where nj is the frequency of the grayscale value rj, and n is the total number of pixels in the image.

Now consider a desired output probability density function pz(z). A transformation of pr(r) is needed to convert it to pz(z).

Input image CDF matched to desired output CDF

Each pdf (probability density function) can easily be mapped to its cumulative distribution function by

where L is the total number possible of gray levels (256 for a standard image).

The idea is to map each r value in X to the z value that has the same probability in the desired pdf. I.e. S(rj) = G(zi) or z = G−1(S(r)).[3]

Example

edit

The following input grayscale image is to be changed to match the reference histogram.

The input image has the following histogram:

Histogram of input image

It will be matched to this reference histogram to emphasize the lower gray levels.

Desired reference histogram

After matching, the output image has the following histogram:

Histogram of output image after matching

And the new image looks like this:

Output image after histogram matching

Algorithm

edit

Given two images, the reference and the target images, we compute their histograms. Following, we calculate the cumulative distribution functions of the two images' histograms: for the reference image and for the target image. Then for each gray level , we find the gray level for which , and this is the result of histogram matching function: . Finally, we apply the function on each pixel of the reference image.

Exact histogram matching

edit

In typical real-world applications, histogram matching can only approximate the specified histogram. All pixels of a particular value in the original image must be transformed to just one value in the output image. Because of this there may be holes or open spots in the output matched histogram.

Exact histogram matching is the problem of finding a transformation for a discrete image so that its histogram exactly matches the specified histogram.[4] Several techniques have been proposed for this. One simplistic approach converts the discrete-valued image into a continuous-valued image and adds small random values to each pixel so their values can be ranked without ties. However, this introduces noise to the output image.

Multiple histogram matching

edit

The histogram matching algorithm can be extended to find a monotonic mapping between two sets of histograms. Given two sets of histograms and , the optimal monotonic color mapping is calculated to minimize the distance between the two sets simultaneously, namely where is a distance metric between two histograms. The optimal solution is calculated using dynamic programming.[5]

See also

edit

References

edit
  1. ^ Gonzalez, Rafael C.; Woods, Richard E. (2008). Digital Image Processing (3rd ed.). Prentice Hall. p. 128. ISBN 9780131687288.
  2. ^ Gonzalez, R.C.; Fittes, B.A. (June 9–11, 1975). Gray-level transformations for interactive image enhancement (PDF). 2nd Conference on Remotely Manned Systems: Technology and Applications. Los Angeles, California. pp. 17–19.
  3. ^ Gonzalez, Rafael (2017). Digital image processing 4th Edition. London: Pearson. pp. 94–103. ISBN 978-0133356724.
  4. ^ Coltuc, Dinu; Bolon, Philippe; Chassery, Jean-Marc (May 2006). "Exact Histogram Specification". IEEE Transactions on Image Processing. 15 (5): 1143–52. Bibcode:2006ITIP...15.1143C. doi:10.1109/TIP.2005.864170. PMID 16671295. S2CID 16060881.
  5. ^ Shapira D.; Avidan S.; Hel-Or Y. (2013). "Multiple Histogram Matching" (PDF). Proceedings of the IEEE International Conference on Image Processing.

📚 Artikel Terkait di Wikipedia

Histogram equalization

In image processing, Histogram equalization is a method of contrast adjustment using the image's histogram. Histogram equalization is a specific case of

Image histogram

Color histogram, a multidimensional histogram of the distribution of color in an image Curve (tonality) Histogram equalization Histogram matching Image

Image color transfer

algorithm that employs the statistical properties of the images is histogram matching. This is a classic algorithm for color transfer, but it can suffer

Phase problem

In physics, the phase problem is the problem of loss of information concerning the phase that can occur when making a physical measurement. The name comes

Color histogram

photography, a color histogram is a representation of the distribution of colors in an image. For digital images, a color histogram represents the number

Atmospheric correction

target, modeling code TM (all bands) atmospheric modeling code, region histogram matching TM DOS with estimated atmospheric transmittance TM dark target, atmospheric

Propensity score matching

statistical analysis of observational data, propensity score matching (PSM) is a statistical matching technique that attempts to estimate the effect of a treatment

Sentinel-1D

Sentinel-1 Multitemporal Coherence Optimized by Homogeneous SAR Pixels and Histogram Matching". IEEE Journal of Selected Topics in Applied Earth Observations and