Vous êtes sur la page 1sur 3

Traitement d’images - Année 2022-2023

TP4 : Segmentation d'images


Exercice 1 : Recherche de végétation dans une image multispectrale
Le but de cet exercice est d’identifier les régions contenant des végétations plus au moins
importantes dans une image multispectrale par un seuillage d'une carte d'indice de végétation
connue sous le nom de NDVI (Normalized Difference Vegetative Index). La carte NDVI d'un
ensemble de données multispectrales indique la densité de la végétation dans diverses
régions de l’image. La valeur NDVI est calculée en utilisant les images des bandes spectrales
proches infrarouges (NIR) et rouge visible (RED) comme le montre la formule suivante.
𝑁𝐼𝑅 − 𝑅𝐸𝐷
𝑁𝐷𝑉𝐼 =
𝑁𝐼𝑅 + 𝑅𝐸𝐷
La valeur NDVI d'un pixel est un scalaire compris entre -1 et 1. Les pixels des régions où la
végétation est saine ou dense reflètent davantage la lumière NIR, ce qui se traduit par des
valeurs NDVI élevées. Les pixels des régions où la végétation n'est pas saine ou les terres
stériles absorbent davantage de lumière NIR, ce qui se traduit par des valeurs NDVI faibles ou
négatives. Ainsi, on peut identifier la végétation d'une région comme étant dense, modérée,
clairsemée ou inexistante. Voici la plage de valeurs NDVI typique pour chaque type de région :
 R1 : Végétation dense -> Supérieure ou égale à 0,6
 R2 : Végétation modérée -> Dans l'intervalle [0,4, 0,6)
 R3 : Végétation éparse -> Dans l'intervalle [0.2 0.4)
 R4 : Pas de végétation -> Inférieure à 0.2
On dispose d’une image LANDSAT qui couvre une partie de Paris nommée « Paris.jpg »
présentée à la figure 1. On souhaite identifier les régions où il y a de la végétation. Le fichier
initial a été modifié pour garder que 3 canaux dont le premier contient proche Infrarouge, le
deuxième est le rouge du visible et le troisième est le canal vert du visible.
Les étapes sont :
1. Chargez l’image « Paris.jpg »
2. Récupérez les canaux NIR et RED. Pour la suite du clacul, les valeurs des différents
canaux doivent être comprises entre 0 et 1, pour celà, il faut utiliser la fonction
im2single pour convertir les valeurs des pixels.
3. Calculez la matrice correspondant à l’indice de végétation NDVI. Les valeurs de la
matrice obtenue sont comprises ente -1 et 1, pour les afficher en tant qu’image en
niveaux de gris, on utilise l’instruction suivante :
imshow(NDVI,'DisplayRange',[-1 1])
4. Il s’agit de segmenter la carte NDVI en 4 régions (R1,R2,R3 et R4) en appliquant un
multiseuillage. Les seuils représentent les valeurs typiques pour identifier les régions
qui contiennet soit de la végétation dense, modérée, éparse ou aucune végétation.
a. Définissez une palette de couleur comme suit : R1 en vert, R2 en bleu, R3 en
jaune et R4 en rouge.
b. Affichez l’image avec la palette de couleur proposée et avec des annotations
comme le montre la figure 2.
5. Calculez le pourcentage d’occupation de chacune des régions et affichez les
pourcentages dans la légende de la figure 2
6. Appliquez la segmentation par kmeans. Comparez les résultats avec la segmentation
par multi seuillage. Que pensez- vous ?

Mme I.BENMILOUD - ENSMR 1


Traitement d’images - Année 2022-2023

Figure 1 : « Paris.jpg » Figure 2 : Types de végétation sur la région de Paris

Exercice 2 : Comptage d’objets


Parmi les applications fondamentales de la segmentation d’images est le comptage et
l’analyse d’objets présents dans l’image.
Dans cet exercice, il s’agit d’appliquer dans un premier temps une étape de prétraitement
pour améliorer la qualité de l’image, il s’ensuit alors la phase de segmentation pour identifier
et analyser les objets présents à savoir l’extraction des divers paramètres tels que l'axe
principal, l'axe mineur, l'excentricité, la surface et le périmètre etc.. Ces paramètres
permettent de classer les objets dans l’image.
L’image utilisée dans cet exercice est nommée « rice.png », il s’agit d’analyser les grains de riz
individuels en déterminant la surface et autres calculs statistiques pour une classification
automatique des grains de riz.
Le travail à faire :
1. Chargez l’image «rice.png» du toolbox Matlab (Figure 1).
2. Proposez un prétraitement pour améliorer la qualité de l’image.
3. Appliquez une binarisation. La figure 2 montre le résultat obtenu.
4. Supprimez les objets dont la superficie est inférieure à 50. La figure 3 montre le résultat
obtenu. La figure 4 illustre les objets supprimés qui apparaissent en vert.
5. Cherchez toutes les composantes connexes (objets) dans l’image binaire en utilisant la
fonction bwconncomp. Cette dernière retourne une structure contenant entre autre
l’attribut NumObjects et PixelIdxList.
a. Combien d’objets (grains de riz) sont présents dans l’image binaire.
b. Affichez le grain dont le label est égal à 30 comme le montre la figure 5
c. Affichez également dans la même image le grain de riz dont le label est égal à
20 (Cf. la figure 6)
d. Affichez les composantes connexes en fausse couleur comme le montre la
figure 7.
6. Calculez des caractéristiques de chaque composante connexe telle que la surface,
l’excentricité etc.. en utilisant la fonction regionprops. Affichez l’histogramme des
surfaces des grains de riz.

Mme I.BENMILOUD - ENSMR 2


Traitement d’images - Année 2022-2023

Figure 1 Figure 2 Figure 3 Figure 4

Figure 5 Figure 6 Figure 7


cc = bwconncomp(Bw,4) grain(cc.PixelIdxLi Labeled = labelmatrix(cc);
grain = st{20}) = true; RGBLabeled = label2rgb(Labeled);
false(size(Bw)); subplot(1,2,2),imshow(RGBLabeled)
grain(cc.PixelIdxList
{30}) = true;

Mme I.BENMILOUD - ENSMR 3

Vous aimerez peut-être aussi