L'égalisation d'histogramme est une méthode d'ajustement du contraste d'une image 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 (0 à 255 en général pour des images 8 bits), en « étalant » l'histogramme. Théoriquement (cas continu) l'histogramme devrait même être plat (loi uniforme). Toutefois à cause de la discrétisation, ceci est rarement le cas.
L'égalisation est intéressante pour les images dont la totalité, ou seulement une partie, est de faible contraste (pixels d'intensité proches). La méthode est rapide, facile d'implémentation, et complètement automatique (i.e. pas de réglages).
Il n'est parfois pas pertinent de chercher à obtenir un histogramme uniforme par égalisation. La spécification d'histogramme est une méthode permettant de générer une image ayant une forme d'histogramme déterminée.
Si l'on souhaite obtenir un histogramme de forme pz, à partir d'une image originale à L niveaux de gris, d'histogramme px, alors la transformation est obtenue de la manière suivante:
La transformation par égalisation de l'image originale est donnée par
La transformation par égalisation de l'image souhaitée est
L'égalisation de l'image originale et l'image transformée doit aboutir au même histogramme égalisé, on a donc
L'image transformée peut donc être obtenue avec l'histogramme spécifié pz, à partir des transformations G (obtenue à partir de pz) et T (égalisation classique de l'image originale).
Dans de nombreuses applications, il est utile de calculer une distance (ou plus généralement une mesure de similarité/dissimilarité) entre histogrammes. Par exemple pour étudier les variations temporelles du contenu visuel dans une vidéo, ou pour trouver des images similaires à une image requête. On définit pour cela un certain nombre de distances pour mesurer si deux histogrammes sont « proches » l'un de l'autre. Soit h1 et h2 deux histogrammes de même taille N (i.e. avec le même nombre de classes)
De nombreuses autres mesures sont possibles, notamment la divergence de Kullback-Leibler et la distance de Bhattacharyya, puisque la comparaison d'histogrammes se ramène à une mesure de dissimilarité entre deux distributions de probabilités.
L'histogramme intégral est une représentation qui permet un calcul rapide d'histogrammes locaux, dans n'importe quelle région de l'image. La méthode a été proposée en 2005, et s'inspire de la représentation proposée pour les images intégrales.
L'histogramme est un outil de base du traitement d'images et est utilisé dans de très nombreuses applications et méthodes.
L'égalisation d'histogramme, qu'il soit global, ou appliqué de manière local, est un outil très utilisé pour l'amélioration du contraste, et donc le rehaussement. De même, la spécification d'histogramme peut être utilisée le rehaussement.
Il est également possible d'utiliser les statistiques de l'histogramme (moyenne, variance) pour l'amélioration de l'intensité et du contraste.
Une segmentation en plans consiste à détecter les différents plans d'une vidéo. Pour cela, une méthode consiste à calculer un histogramme pour toutes les images de la vidéo, et d'étudier ensuite les variations temporelles des distances entre histogrammes consécutif. Une distance faible étant synonyme de similarité visuelle, et une distance élevé reflétant un fort changement visuel. Les changements de plans sont alors détectés comme étant les pics de ces variations temporelles.
Les histogrammes sont la méthode privilégiée pour la segmentation, qui donne les résultats parmi les robustes, tout en étant de faible complexité.
L'idée a été proposée par Michael Swain et Dana Ballard en 1991 et est principalement utilisée dans les situations où, la rapidité du traitement de l'image est un facteur déterminant du choix de l'algorithme ou est un objet spécifique, au lieu d'être une classe d'objets abstraite qui requiert d' être identifiée ; telle que notée par Swain et Ballard : « Cela peut ne pas être utile pour modéliser une tasse de café étant rouge ou blanche, mais peut être utile pour vous.»
Ceci fournit une vue d'ensemble bien plus compacte des données dans une image que de savoir la valeur exacte de chaque pixel. L'histogramme de couleurs d'une image est invariable selon la translation ou de la rotation de l'axe de vue, et varie progressivement selon l'angle de vue. Ce qui fait que l'histogramme de couleurs est un outil particulièrement intéressant pour la reconnaissance d'objets ayant une position et une rotation inconnue par rapport à la scène.
L'inconvénient principal de cet histogramme est que la représentation obtenue dépend seulement de la couleur de l'objet étudié, par ce fait il n'y a pas de moyen de distinguer la différence entre une tasse rouge et blanche d'une autre tasse blanche et rouge. En d'autres termes, l'algorithme de l'histogramme de couleurs n'a pas d'idée générale de la tasse, seulement de son nombre de couleurs, alors on ne peut la comparer avec une tasse bleue et blanche, car les informations obtenues ne seront pas semblables.
L'histogramme est un outil indispensable pour beaucoup de photographes. Il permet notamment de savoir très rapidement si une photographie est bien exposée, et s'il existe des zones bouchées (noir complet) ou brûlées (blanc pur). Il est important de considérer que l'histogramme peut être analysé correctement quel que soit l'écran utilisé et ses réglages, alors que la lecture d'une image seule ne sera pas juste si l'écran utilisé n'est pas bien calibré. L'histogramme est le seul moyen de vérifier certaines informations juste après la prise de vue avec certains appareils photos reflex pour lesquels l'écran intégré est loin d'être parfait.