La colorisation d'une image

Introduction :

Pour numériser une image, il faut pouvoir représenter une couleur avec des nombres. Dans ce cours, nous allons voir différentes manières de quantifier et de coder les couleurs.

Monochromie (niveaux de gris)

Commençons à nous intéresser aux images monochromes, c’est-à-dire faites avec différents niveaux de la même couleur, comme les images en niveaux de gris. Dans une telle image, la couleur d’un pixel est donnée par une valeur unique : le niveau de la couleur.

bannière attention

Attention

Ce qu’on appelle « image en noir et blanc » dans le langage courant est appelé « image en niveaux de gris » en imagerie numérique. S’il n’y a que deux niveaux de gris ($0$ pour noir et $1$ pour blanc), alors on parle d’une image binaire.

Classiquement, dans une image en niveaux de gris, on code la couleur d’un pixel sur un octet. Comme un octet a $256$ valeurs possibles, les niveaux de gris vont donc de $0$ (noir) à $255$ (blanc) avec un dégradé entre les deux.

Image en niveaux de gris et matrice

bannière à retenir

À retenir

N’importe quelle image matricielle monochrome peut donc être représentée comme un tableau d’entiers, chaque entier étant la valeur du niveau de gris d’un pixel.

Trichromie (le système Rouge, Vert, Bleu)

Synthèse de couleur

En 1802 Thomas Young démontre que la vision humaine repose sur l’articulation de trois couleurs.

bannière definition

Définition

Trichromie :

La trichromie est un procédé permettant de reproduire un grand nombre de couleurs à partir de trois couleurs primaires.

Ce procédé a été inventé au XIXe siècle par les ingénieurs français Charles Cros et Louis Ducos du Hauron pour créer les premières photographies en couleur.

bannière definition

Définition

Synthèses additive et soustractive :

Dans un procédé de synthèse additive, la couleur par défaut est le noir, et plus on rajoute de la couleur, plus on se dirige vers le blanc. Dans un procédé de synthèse soustractive, les couleurs primaires sont le cyan, le magenta et le jaune, le mélange de ces trois couleurs donne du noir.

Remarque :
Pour comprendre pourquoi elles s’appellent « additives » et « soustractives », Il faut se rappeler qu’en physique, le noir est l’absence de rayons lumineux, alors que le blanc est la présence de l’ensemble du spectre visible. Ainsi, on peut imaginer la synthèse additive comme partir du noir complet et ajouter des sources de lumières colorées, et la synthèse soustractive comme partir de l’ensemble du spectre lumineux (le blanc) et retirer peu à peu certaines couleurs du spectre.

bannière definition

Définition

Système RVB :

Le système RVB (Rouge, Vert, Bleu) ou système RGB (Red, Green, Blue) est un système de codage des couleurs par trichromie, utilisant le rouge, le vert et le bleu comme couleurs primaires. C’est le système avec lequel la quasi-totalité des images numériques sont enregistrées.

Il est possible d’expérimenter ce processus de synthèse sur le site RGB Color Code. On peut composer une couleur en mettant plus ou moins de rouge, de bleu ou de vert.

On peut observer sur ce site que, quand les 3 canaux R, V et B sont à $0$, on obtient du noir. Quand tous les 3 canaux R, V et B sont au maximum, on obtient du blanc. C’est bien ce que l’on appelle une synthèse additive : on ajoute des couleurs pour aller du noir vers le blanc.

Si la plupart des images numériques sont codées de la sorte, c’est avant tout pour des raisons techniques et biologiques.

  • L’œil humain fonctionne sur un système de trois photorécepteurs sensibles à différentes radiation (RVB).
  • De même, la plupart des appareils photos numériques fonctionnent avec des capteurs pour ces trois couleurs.
  • L’affichage des couleurs sur un écran repose sur la variation d’intensité de sources RVB.

Canaux RVB

Dans une image codée en RVB, à chaque pixel est associé un triplet de valeurs : son niveau de rouge, de bleu, et de vert.

bannière definition

Définition

Canal :

En imagerie numérique, on appelle canal chacun des composants de la synthèse de couleur utilisée pris individuellement. Ainsi, dans une image RVB, il y a trois canaux : le Rouge, le Vert, et le Bleu.

On peut isoler l’un de ces canaux pour obtenir une image monochrome.

Prenons l’image suivante pour isoler chaque canal.

isolation canaux couleur image numérique rouge vert bleu monochromes

Les monochromes montrent que la coccinelle est très rouge, qu’il y a un eu peu de rouge partout ailleurs sur l’image, qu’il y a du vert un peu partout sauf sur la coccinelle, et qu’il n’y a quasiment pas de bleu, sauf dans la zone blanche en haut de l’image.

Les canaux sont représentés avec leur couleurs respectives et en niveaux de gris.

bannière astuce

Astuce

Il existe des outils gratuits en ligne pour séparer les différents canaux d’une image.

Convertir en niveaux de gris

À partir de l’image de coccinelle en couleur, on a pu obtenir trois images de coccinelles en niveaux de gris. Cependant, aucune ne semble être une bonne représentation de l’image initiale, la première est sans doute la plus satisfaisante, mais la coccinelle y est si claire qu’on dirait qu’elle est blanche, alors qu’elle devrait être plus grise.

Intuitivement, on pourrait avoir envie de convertir une image en niveaux en de gris en faisant une moyenne des valeurs de trois canaux. On obtiendrait cette formule :

$$\footnotesize{niveau\ de\ gris= \frac{niveau\ de\ rouge + niveau\ de\ vert + niveau\ de\ bleu}{3}}$$

Une telle formule pourrait donner de bons résultats, mais n’est pas optimale. En effet, à intensité égale, l’humain perçoit le vert comme plus lumineux que le rouge, et le bleu comme la plus sombre des trois couleurs.

  • C’est pourquoi la plupart des outils de transformation en niveau de gris font une moyenne pondérée.

La plupart des téléviseurs HD par exemple font (approximativement) le calcul suivant :

$$\footnotesize{niveau\ de\ gris =\frac{0,7 \times niveau\ de\ rouge + 2,1 \times niveau\ de\ vert + 0,2 \times niveau\ de\ bleu}{3}}$$

Voici l’image de la coccinelle en niveaux de gris calculés par moyenne pondérée.

 Image convertie en niveaux de gris par moyenne pondérée et image non pondérée Sciences numériques et technologie Seconde La colorisation d'une image

bannière attention

Attention

Il n’existe pas de moyen « parfait » de passer une image en niveaux de gris : il existe des normes et des recommandations, mais ce sont des choix génériques comportant une part d’arbitraire et qui peuvent être plus adaptés à certaines images qu’à d’autres.

L’image obtenue avec le calcul précédent respecte bien certains aspects de l’image couleur : par exemple l’œil de la coccinelle est plus clair que son dos. Pour autant, la coccinelle ne tranche plus avec le décor, ce qui est un peu dommage.

Avec un logiciel de retouche d’image avancé, on pourrait utiliser un calcul de niveaux de gris personnalisé pour :

  • augmenter l’importance du rouge (si on veut la coccinelle plus claire que les plantes) ;
  • au contraire, augmenter l’importance du vert (si on veut les plantes plus claires que la coccinelle). On obtiendrait ainsi des images intermédiaires entre celles de l’image 4 et celles de l’image 5.

Les autres systèmes (CMJN et TSL)

Le système Cyan, Magenta, Jaune, Noir

bannière definition

Définition

Système CMJN :

Le système CMJN (Cyan, Magenta, Jaune, Noir) ou CMYK (Cyan, Magenta, Yellow, Key) est un système de codage des couleurs en quadrichromie (c’est-à-dire, qui utilise quatre couleurs de base).

Il est aussi possible d’expérimenter ce processus de synthèse sur le site RGB Color Code.

Ce système est surtout utilisé pour l’impression couleur, ce qui explique plusieurs de ses propriétés, comme le fait que le blanc soit codé (0,0,0,0), car c’est la couleur du papier quand aucune encre n’est utilisée. C’est, ici, une synthèse soustractive. C’est pour des questions d’économie d’encre à l’impression qu’on utilise la quadrichromie : si l’on peut obtenir du noir en mélangeant du cyan, du magenta et du jaune (le code (255,255,255,0) correspond à du noir), il est plus économe d’utiliser uniquement de l’encre noire (le code (0,0,0,255) est aussi du noir).

Utilisation de couleurs CMJN pour l’impression Sciences numériques et technologie Seconde La colorisation d'une image

Ainsi, à l’instar du noir, une même couleur peut être codée de plusieurs manières en CMJN (mais il vaut mieux utiliser le code qui correspond à la plus petite quantité d’encre utilisée).

bannière attention

Attention

Les codages RVB et CMJN ne se superposent pas parfaitement : il n’est pas possible de représenter en CMJN toutes les couleurs du RVB et vice-versa (on dit qu’ils n’ont pas les mêmes palettes de couleur). C’est pourquoi une image peut sembler différente sur un écran d’ordinateur et une fois imprimée : certaines couleurs sont affichables à l’écran mais non imprimables, comme certains oranges ou roses vifs.

Les systèmes Teinte, Saturation, Luminosité

bannière definition

Définition

Système TSL ou HSV :

Les systèmes de type TSV (valeur) / HSV (value) ou TSL (luminosité) / HSL (lightness) sont des systèmes de codage des couleurs basés sur une approche psychologique de la perception des couleurs.

Contrairement aux systèmes précédents, les codages TSV (Teinte, Saturation, Valeur) et TSL (Teinte, Saturation, Luminosité) ne correspondent pas à des critères techniques, mais sont pensés pour s’adapter à la manière dont l’humain va « penser » l’image, la manière dont il va la recevoir et la juger (sombre, terne, vive, etc.). Dans ces systèmes, la teinte représente la couleur comme elle est perçue, la saturation représente l’intensité ou la pureté de la coloration (l’éloignement au gris), et la luminosité de la couleur sa clarté (entre le noir et le blanc). Classiquement, les teintes sont réparties le long d’un disque (la valeur de la teinte est un angle en degré entre $0$ et $360$), alors que la saturation et la luminosité sont des pourcentages.

Les systèmes de type TSL sont particulièrement adaptés à la manipulation humaine de la couleur. En effet, il est plus courant de vouloir rendre une image « plus terne » ou « plus lumineuse » que de vouloir la rendre « plus rouge » ou « moins cyan ». Ils sont utilisés, la plupart du temps, par les logiciels de retouche d’image.

bannière attention

Attention

De même que pour le calculs de niveau de gris, il n’existe pas de système TSL parfait.

bannière à retenir

À retenir

La plupart du temps, les images matricielles sont :

  • codées en RVB quand elles sont captées par les appareils photos numériques, quand elles sont sauvegardées, quand elles sont affichées ;
  • converties en CMJN quand elles sont imprimées ;
  • converties dans un système de type TSL quand elles sont chargées dans un logiciel de retouche d’image, puis converties de nouveau en RVB à la sortie du logiciel.

Profondeur de couleur

Nous avons vu jusqu’à maintenant que, dans le système RVB, la valeur de chaque composante (rouge, vert, bleu) de la couleur du pixel était entre $0$ et $255$.

C’est effectivement le cas la majorité du temps, mais il est possible de réduire ce nombre pour économiser de la place en mémoire, ou de l’augmenter pour avoir accès à une plus grande palette de couleurs : on joue alors sur la profondeur de couleur.

bannière definition

Définition

Profondeur de couleur :

La profondeur de couleur est le nombre bits par pixel.

Voici, par exemple, l’effet d’une réduction de la profondeur de couleur sur une image en niveaux de gris.

Différentes profondeurs de couleur sur une même image Sciences numériques et technologie Seconde La colorisation d'une image

Augmenter la profondeur de couleur permet ainsi d’avoir des images plus vivantes aux couleurs plus subtiles (on voit cela notamment sur les écrans de télévision les plus modernes). Plus la technologie avance, plus les appareils vidéos supportent des formats avec une grande profondeur de couleur, permettant une discrétisation plus fine des couleurs.

Conclusion :

Une image matricielle peut être représentée par un tableau dont chaque case contient un ou plusieurs nombres, indiquant la couleur du pixel correspondant. Nous avons vu les systèmes de codage de la couleur les plus courants, leurs avantages et leurs inconvénients. Dans le prochain cours, nous allons mettre en pratique ces connaissances en nous intéressant à différentes formes de traitement d’image basées sur la manipulation de ces couleurs.