1. Rôle du tramage
2. Algorithmes de trammage

1. Rôle du tramage

Le tramage est une technique de traitement du signal, utilisée en traitement d'image lorsque d'un set de réduit de couleurs est disponible. Il consiste à parsemer une zone d'une couleur de pixels d'une autre couleur (proche si possible) afin de créer l'illusion de la perception d'une couleur intermédiaire. Dans la l'image suivante par exemple, alors de seulement 2 couleurs sont utilisées (noir et blanc), on a l'illusion de voir plusieurs niveaux de gris.La quantification est un procédé de traitement du signal, qui permet d'approximer un signal analogique par un signal discret. Cette opération permet de passer d'un signal continu à un signal discret dans un espace de petite taille.


Tramage selon l'algorithme de Floyd-Steinberg vs Seuillage


Bien qu'augmentant l'erreur quadratique moyenne, cette technique améliore significativement le rendu visuel des images lors d'une quantification (réduction du nombre de couleurs) en évitant la création de zones planes dans lesquelles on perd tout détail.

2. Algorithmes de trammage

Il existe de nombreux algorithmes pour appliquer un tramage. On distingue principalement le tramage par modèle, où la valeur d'un pixel dans l'image tramée dépend de sa valeur originale, de ses coordonnées dans l'image et du modèle utilisé ; et le tramage par diffusion d'erreur, où la valeur d'un pixel dépend de la valeur originale et du choix de couleur qui a été fait pour les pixels proches.

Le tramage par modèle produit souvent de moins bons résultats, mais peut être effectué très rapidement par un traitement parallèle (dans une carte électronique avant affichage sur un écran affichant un nombre réduit de couleurs par exemple) sachant que la valeur d'un pixel ne dépend pas du calcul sur les pixels environnants.

Le tramage par propagation d'erreur quand à lui produit de meilleurs résultats mais s'exécute linéairement. L'algorithme de Floyd-Steinberg par exemple consiste à appliquer la matrice suivante autour du pixel traité :



Le traitement est effectué en partant du haut à gauche de l'image, et l'erreur (positive ou négative) causée par l'arrondi à la couleur disponible la plus proche est diffusée dans les 4 pixels voisins qui n'ont pas encore été traités.

Un variation consiste à parcourir l'image en “serpentin”, en changeant de sens à chaque ligne, et en retournant la matrice en conséquence.