Académique Documents
Professionnel Documents
Culture Documents
1
Chapitre 3: Pixels
Dans ce chapitre, nous discutons la base de tout le traitement d'image numérique: le pixel. Nous couvrons
les types d'informations tangibles que les pixels peuvent contenir et discutons des opérations à la fois sur
des pixels individuels (transformations ponctuelles) et sur des distributions de pixels (transformations
globales).
2
Figure 2.1 : Différents types d'informations sur les pixels
2.2 Opérations sur pixels:
Le type de traitement de l'image le plus simple est une transformation de point qui mappe les valeurs à des
points individuels (c'est-à-dire des pixels) dans l'image d'entrée aux points correspondants (pixels) dans une
image de sortie. Dans le sens mathématique, il s'agit d'un mappage fonctionnel individuel d'entrée en sortie.
Les exemples les plus simples de ces transformations d'image sont des opérations arithmétiques ou logiques
sur des images. Chacun est exécuté comme une opération entre deux images IA et IB ou entre une image et
une valeur constante C:
3
Ioutput = IA + IB
Ioutput = IA + C
Dans les deux cas, les valeurs dans un emplacement de pixel individuel (i; j) dans l'image de sortie sont
Mappé comme suit:
Ioutput (i,j) = IA (i,j)+ IB(i,j)
Ioutput (i,j)= IA (i,j)+ C
4
Généralement, les images doivent être de la même dimension et du même type de données (par
exemple, un nombre entier de 8 bits) pour que l'addition et la soustraction soient possibles entre elles.
Lorsque vous effectuez des opérations d'addition, nous devons également être conscients du
dépassement d'entier. Une image entière de 8 bits ne peut contenir que des valeurs entières de 0 à 255.
Les fonctions de Matlab imadd, imsubtract et imabsdiff évitent ce problème en tronquant ou en
arrondissant des valeurs de débordement.
En soustrayant une valeur constante à partir de chaque pixel (comme addition), on peut aussi utiliser une
forme basique de réglage du contraste. Soustraire une image d'une autre montre la différence entre les
images. Si nous soustrayons deux images dans une séquence vidéo, nous obtenons une image de différence
(en supposant une caméra statique) qui montre le mouvement ou les changements qui se sont produits entre
les images de la scène (par exemple, la Figure 2.3). Cela peut être utilisé comme une forme de base de
changement / détection de mouvement dans les séquences vidéo.
5
Image originale Contraste réduit de 25%
6
Figure 2.5 : Inverse (NOT) d’une image
OR / XOR / AND sont utiles pour traiter des images à valeur binaire (0 ou 1).
Image originale Image inversée XOR Image originale Image inversée AND Image originale Image inversée OU
Figure 2.6 : Les opérations logiques (XOR, AND et OU) sur deux images
2.2.3 Seuil (Thresholding):
Une autre transformation de base est le seuillage. Le seuillage produit une image binaire à partir d'une image
en niveau de gris ou en couleur en définissant les valeurs de pixels à 1 ou à 0 selon qu'elles sont au-dessus ou
au-dessous de la valeur du seuil. Ceci est couramment utilisé pour séparer ou segmenter une région ou un
objet dans l'image en fonction de ses valeurs de pixels, comme le montre la figure 2.7.
Dans son opération de base, le seuillage fonctionne sur une image I comme suit:
for each pixel I(i,j) within the image I
if I(i,j) > threshold
I(i,j) = 1
else
I(i,j) = 0
end, end
7
Dans Matlab, cela peut être effectué en utilisant la fonction im2bw et avec un seuil dans l’intervalle
[0 à 1], comme le montre la figure dans l'exemple 2.7.
8
Pour les images en niveau de gris, dont les pixels contiennent une valeur d'intensité unique, un seul seuil doit
être choisi. Pour les images en couleur, un seuil distinct peut être défini pour chaque canal (pour
correspondre à une couleur particulière ou pour isoler différentes parties de chaque canal). Dans de
nombreuses applications, les images en couleur sont converties en niveau de gris avant le seuillage pour
raison de simplification. Les variations communes sur le seuil simple sont:
L'utilisation de deux seuils pour séparer les valeurs de pixels dans une plage donnée;
L'utilisation de seuils multiples résultant en une image marquée avec des parties étiquetées de 0 à N;
En conservant l'information de pixel d'origine pour les valeurs sélectionnées (c'est-à-dire au-dessus /
entre les seuils) tandis que d'autres sont affectés par la couleur le noir.
Le seuil est l'opérateur «cheval de travail» pour la séparation de l'image au premier plan de l'arrière-plan. Une
question qui reste est de savoir comment choisir un bon seuil ? Ce sujet sera abordé dans la partie
segmentation d'image.
I output (i, j ) c ln 1 (e 1) I input (i, j )
9
Notez que le facteur de mise à l'échelle contrôle la plage d'entrée à la fonction logarithmique, tandis que
c évalue la sortie sur la plage de quantification d'image de 0 à 255. L'ajout de 1 est inclus pour éviter les
problèmes où le logarithme n'est pas défini pour Iinput (i,j) = 0. Le niveau de compression de la plage
dynamique est effectivement contrôlé par le paramètre . Comme le montre la Figure 2.8, la fonction
logarithmique étant proche du linéaire du côté de l'origine, la compression obtenue est plus petite pour une
image contenant une faible gamme de valeurs d'entrée que celle contenant une large plage de valeurs de
pixels.
La constante de mise à l'échelle c peut être calculée en fonction de la valeur de sortie maximale autorisée
(255 pour une image de 8 bits) et de la valeur maximale max (Iinput (i; j)) présente dans l'entrée:
255
c
log 1 max( I input (i, j ))
.
L'effet de la transformation logarithmique est d'augmenter la plage dynamique des régions sombres dans une
image et de diminuer la plage dynamique dans les régions lumineuses (par exemple Figure 2.9). Ainsi, la
transformée logarithmique transforme les valeurs d'intensité inférieure ou les régions sombres en un plus
grand nombre de valeurs de niveaux de gris et comprime les valeurs d'intensité élevée ou les régions
lumineuses dans une gamme plus petite de valeurs de niveaux de gris.
Dans la figure 2.9, nous voyons l'effet typique d'être photographié devant un Fond brillant (gauche) où la
plage dynamique du film ou de l'ouverture de la caméra est trop petite pour capturer toute la plage de la
scène. En appliquant la transformation logarithmique, nous éclairons le premier plan de cette image en
10
diffusant les valeurs de pixels sur une gamme plus large et en révélant plus de détails tout en comprimant la
plage de pixels d'arrière-plan.
avec I (i,j) est la valeur d'un pixel à un emplacement (i,j) dans l’image I.
Cette transformation améliore les détails dans les régions de grande valeur de l'image (brillante) tandis que
diminue la plage dynamique dans les régions à faible valeur (sombre) - l'effet inverse de la Transformation
logarithmique. Le choix de la base dépend du niveau de compression de la plage dynamique requis. En
général, les nombres de base juste au-dessus de 1 conviennent à l'amélioration de l'image photographique.
Ainsi, nous étendons notre notation de transformation exponentielle pour inclure une base et une échelle
variables dans la plage de sortie appropriée comme précédemment :
I output (i, j ) c (1 ) input
I (i , j )
1 ,
ici, (1 + α) est la base et c est le facteur de mise à l'échelle requis pour s'assurer que la sortie se situe dans une
plage appropriée. Comme il est évident lorsque Iinput (i; j) = 0, il en résulte que Ioutput (i; j) = c, à moins que
nous n'ajoutons le -1 pour contrer ce décalage de potentiel apparaissant dans l'image de sortie. Le niveau de
compression et d'expansion de la plage dynamique est contrôlé par la partie de la courbe de la fonction
exponentielle utilisée pour le mappage d'entrée à sortie; ceci est déterminé par le paramètre α. Comme le
11
montre la figure 2.10, la fonction exponentielle étant proche du linéaire à côté de l'origine, la compression est
plus grande pour une image contenant une plage inférieure de pixels que celle contenant une plage plus large.
12
Figure 2.12: L'application de la transformée de puissance (gamma) à une image échantillon
2.4 Distributions de pixels: histogrammes:
Un histogramme d'image est un graphique de la fréquence relative d'occurrence de chacune des valeurs de
pixels autorisées dans l'image par rapport aux valeurs elles-mêmes. Si nous normalisons un tel diagramme de
fréquence, de sorte que le total de toutes les entrées de fréquence sur la plage admissible soit 1, nous pouvons
traiter l'histogramme d'image comme une fonction de densité de probabilité discrète qui définit la probabilité
qu'une valeur de pixel donnée se produit dans l'image. L'inspection visuelle d'un histogramme d'image peut
révéler le contraste de base qui est présent dans l'image et toutes les différences potentielles dans la
répartition des couleurs des éléments de l'image et du fond de l'image.
Pour une simple image en niveau de gris, l'histogramme peut être construit en comptant simplement le
nombre de fois que chaque valeur en niveau de gris (0-255) se produit dans l'image. Chaque 'barre' dans
l'histogramme est incrémenté chaque fois que sa valeur est rencontrée ainsi qu'un histogramme d'image peut
facilement être construit comme suit –
initialize all histogram array entries to 0
for each pixel I(i,j) %within the image I
histogram(I(i,j)) = histogram(I(i,j)) + 1
end
13
Figure 2.13: Exemple d'image et son histogramme correspondant
Un exemple d'histogramme est illustré à la figure 2.13, où on voit un graphique d'histogramme avec deux
pics distinctifs: un pic élevé dans la plage inférieure des valeurs des pixels correspond à la distribution
d'intensité d'arrière-plan (fond) de l'image et un pic inférieur dans la plus grande plage des valeurs des pixels
(Pixels lumineux) correspond aux objets de premier plan (pièces de monnaie).
Nous pouvons afficher les histogrammes avant et après l'étirement du contraste pour cet exemple en utilisant.
Ces répartitions d'histogramme sont illustrées à la figure 2.16. Nous pouvons clairement voir la plage
dynamique restreinte de l'image originale et comment les contrastes ont été étendus enregistrés sur
l’'histogramme correspondant (la répartition de l’histogramme est presque horizontal).
15
Figure 2.16: Les distributions des histogrammes avant et après de la figure 2.15
16