É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)[1].
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 niveaux, on définit nk le nombre d'occurrences du niveau xk. La probabilité d'occurrence d'un pixel de niveau xk dans l'image est:
avec n le nombre total de pixels de l'image, et px l'histogramme normalisé sur [0,1].
La transformation T qui à chaque pixel de valeur xk de l'image d'origine associe une nouvelle valeur sk, est alors définie par[1]
- , où est l'histogramme cumulé.
que l'on peut écrire aussi:
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 niveaux, les intensités des pixels de l'image sont vues comme des variables aléatoires dans . On considère les densités de probabilités et de et et la transformation T telle que avec continue, différentiable et strictement croissante. On a alors:
En choisissant comme la fonction de répartition de la variable aléatoire x:
alors on peut montrer[2] que la densité de probabilité de est uniforme et égale Ã
- .
L'application de la transformation 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[1].
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[3]. 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[3].
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 |
Bibliographie
Notes et références
- Gonzalez, Woods (2008), Intensity Transformations and Spatial Filtering p. 127
- Gonzalez, Woods (2008), Intensity Transformations and Spatial Filtering p. 123-124
- Gonzalez, Woods (2008), Color Image Processing p. 438
- (en) Cet article est partiellement ou en totalité issu de l’article de Wikipédia en anglais intitulé « histogram equalization » (voir la liste des auteurs).