/general-midway-equalization

Python implementation of general midway equalization using arbitrary number of grayscale images.

Primary LanguageJupyter Notebook

General Midway Equalization

Python implementation of general midway equalization using arbitrary number of grayscale images, .

Example runs using grayscale images avaliable in the following jypitor notebook

general_midway_equalization.ipynb

It is a requirement that all images have same dimensions.

Very short intuition behind code

Let denotes the normalized culumative histogram of a grayscale image, , and the pseudo-inverse of .

The midway equalization method can be generalized to N arbitrary number of images. Specifically,

where for and .

I refer to utils/functions.py for detailed implementation. For further describtions and alternative methods please see [1] and [2].

How to run existing code

  • Step 1: Open general_midway_equalization.ipynb.
  • Step 2: Load N number grayscale images and make sure they all have same dimension. Stack them on top of each others either in a list or array.
  • Step 3: Run codes from utils/functions.py and plot results.

Try it out yourself, and if you have any questions don't hesitates to create an issue. Cheers!

References

[1] Julie Delon. Midway Image Equalization. In: "Journal of Mathematical Imaging and Vision", Springer Verlag, 21 (2) (2004), pp.119-134. DOI: 10.1023/B:JMIV.0000035178.72139.2d

[2] Thierry Guillemot and Julie Delon. Implementation of the Midway Image Equalization. In: "Image Processing On Line", 6 (2016), pp. 114-129. DOI: 10.5201/ipol.2016.140