On considère les images à niveaux de gris compris entre 0 et M (par exemple, M = 255). Pour traiter le contraste d'une image, on applique uniformément à tous les pixels de celle-ci une transformation de niveaux de gris f. En d'autres termes, à partir d'une image I associant à tout pixel p le niveau de gris I(p), on obtient une nouvelle image J dont le niveau de gris au pixel p est J(p) = f(I(p)).
Dans le document sur le rehaussement des niveaux de gris, nous examinerons le cas où f est une fonction croissante telle que f(0) = 0 et f(M) = M. Nous décrivons ici quelques autres types de fonctions.
Supposons que dans une image donnée, l'intervalle des niveaux de gris utilisés ne s'étende pas de 0 à M. Soient gmin et gmax les niveaux de gris minimum et maximum des pixels de l'image. L'étirement de contraste consiste en l'application aux niveaux de gris de l'image d'une fonction linéaire f telle que f(gmin) = 0 et f(gmax) = M. On a ainsi :
f(x) = M (x - gmin) / (gmax - gmin) .
Normalement la fonction f est définie sur l'intervalle [gmin,gmax], mais s'il faut la définir sur l'intervalle [0,M], on l'étend en posant f(x) = 0 pour x entre 0 et gmin, et f(x) = M pour x entre gmax et M, comme illustré ci-contre.
Nous illustrons ci-dessous cette transformation pour M = 255 :
Image à niveaux de gris allant de 68 à 255. | Image après étirement de contraste. |
Le négatif N(I) d'une image I est obtenu en inversant l'échelle de niveaux de gris de 0 à M ; en d'autres termes, en tout pixel p on a
N(I)(p) = M - I(p).
Original. | Négatif. |
Un usage pratique du négatif est la production de diapositives par photographie d'écran. Un film pour diapositives est généralement plus cher et de moindre qualité qu'un film traditionnel. En affichant une image en négatif et en la photographiant avec un film classique, le développement du négatif donnera un négatif de négatif de l'image, c.-à-d. un positif, qui pourra être utilisé comme diapositive. Cela marche très bien pour des images à niveaux de gris en utilisant un film noir sur blanc (c.-à-d. à niveaux de gris).
Du point de vue théorique, le négatif est utilisé pour définir le dual (par inversion de niveaux de gris) d'une opération de traitement d'images. Soit T une opération de traitement d'images, transformant une image I en une image T(I) ; le dual T* de T est défini comme l'application d'un négatif, suivi de T, puis d'un deuxième négatif :
T*(I) = N(T(N(I))).
On a donc N(T*(I)) =T(N(I)), en d'autres termes T* est l'opération correspondant à l'application de T sur le négatif de l'image. Donc T* se comportera sur les zones claires de l'image comme T sur les zones sombres, et vice versa.
Cette opération remplace un intervalle de niveaux de gris par du blanc (niveaux de gris M) ou du noir (niveaux de gris 0). La transformation de niveaux de gris correspondante est illustrée ci-dessous :
Masquages blanc et noir de l'intervalle [a,b].
Cette opération permet de mettre en évidence ou au contraire de masquer certaines parties de l'image dont les niveaux de gris se trouvent dans une plage donnée.
Image originale. | Masquage noir de l'intervalle [80,140]. |
Image originale. | Masquage blanc de l'intervalle [65,90]. |
On peut utiliser le masquage pour atténuer visuellement le bruit. On transforme la plage de niveaux de gris du bruit en un niveau de gris "moyen" proche de celui des zones d'intérêt.
Supposons par exemple une image à niveaux de gris de 0 à 255, comportant des taches de bruit soit tout blanc (niveau de gris 255), soit tout noir (niveau de gris 0). On applique alors la transformation de niveau de gris illustrée ci-contre, qui transforme en gris moyen les niveaux extrèmes :
Comme on peut le voir ci-dessous, le bruit devient visuellement moins saillant.
Image originale. | Masquage gris des intervalles [0,15] et [240,255]. |