# Égalisation d'histogramme

En traitement d'images, l'égalisation d'histogramme est une méthode d'ajustement du contraste d'une image numérique qui utilise l'histogramme. Elle consiste à appliquer une transformation sur chaque pixel de l'image, et donc d'obtenir une nouvelle image à partir d'une opération indépendante sur chacun des pixels. Cette transformation est construite à partir de l'histogramme cumulé de l'image de départ.
L'égalisation d'histogramme permet de mieux répartir les intensités sur l'ensemble de la plage de valeurs possibles, en « étalant » l'histogramme. L'égalisation est intéressante pour les images dont la totalité, ou seulement une partie, est de faible contraste (l'ensemble des pixels sont d'intensité proches). La méthode est rapide, facile d'implémentation, et complètement automatique (i.e. pas de réglages).

## Méthode

La méthode consiste à appliquer une transformation T indépendamment sur chaque pixel de l'image. Cette transformation est construite à partir de l'histogramme cumulé.
Pour une image {x} en niveaux de gris codée sur $L$ niveaux, on définit n$_k$ le nombre d'occurrences du niveau x$_k$. La probabilité d'occurrence d'un pixel de niveau x$_k$ dans l'image est:
    $\ p_{x}(x_{k})=p(x=x_{k})={\frac {n_{k}}{n}},\quad 0\leq k<L$
avec n le nombre total de pixels de l'image, et p$_x$ l'histogramme normalisé sur [0,1].
La transformation T qui à chaque pixel de valeur x$_k$ de l'image d'origine associe une nouvelle valeur s$_k$, $s_{k}=T(x_{k})$ est alors définie par
    $T(x_{k})=(L-1)\sum _{j=0}^{k}p_{x}(x_{j})$ , où $\sum _{j=0}^{k}p_{x}(x_{j})$ est l'histogramme cumulé.
que l'on peut écrire aussi:
    $T(x_{k})={\frac {(L-1)}{n}}\sum _{j=0}^{k}n_{j}$

## Justification théorique

Il est possible de donner une justification théorique à l'égalisation d'histogramme si on se place dans le cas continu. Pour une image {x} en niveaux de gris codée sur $L$ niveaux, les intensités des pixels de l'image sont vues comme des variables aléatoires dans $[0,L-1]$. On considère les densités de probabilités $p_{x}(x)$ et $p_{s}(s)$ de $x$ et $s$ et la transformation T telle que $s=T(x)$ avec $T$ continue, différentiable et strictement croissante. On a alors:
    $p_{s}(s)=p_{x}(x)\left|{\frac {dx}{ds}}\right|$
En choisissant $T$ comme la fonction de répartition de la variable aléatoire x:
    $T(x)=(L-1)\int _{0}^{x}p_{x}(w)\,\mathrm {d} w$
alors on peut montrer que la densité de probabilité de $s$ est uniforme et égale à
    $p_{s}(s)={\frac {1}{L-1}}$.
L'application de la transformation $T$ permet donc de transformer la densité de probabilité d'origine en une loi uniforme, ce qui est le but recherché dans l'égalisation d'histogramme, puisque tous les niveaux seraient utilisés, et avec une égale probabilité. Toutefois, en pratique, c'est-à-dire avec des histogrammes discrets, il est rare d'obtenir des histogrammes plats, mais la méthode permet de mieux répartir les intensités sur l'ensemble de la plage de valeurs.

## Images couleurs

Pour les images couleurs, il faut étendre la méthode d'égalisation en niveau de gris aux 3 composantes de couleur (ex. RVB). Il est possible de faire une égalisation indépendamment sur chaque composante, toutefois ceci dégrade les couleurs, et n'est donc pas utilisé en pratique. La méthode utilisée est de réaliser l'égalisation uniquement sur les intensités, sans toucher aux couleurs. Ceci est fait en général dans l'espace colorimétrique HSV, où l'égalisation est réalisée sur la composante V uniquement.

## Exemple

| image originale | Son histogramme (rouge) et l'histogramme cumulé (noir) |
| L'image après égalisation d'histogramme | L'histogramme (rouge) et l'histogramme cumulé (noir) après égalisation |