84
5 . Traitement d'image ? 5.1 Histogrammes

5.1 Histogrammes - Université Rennes 2 · L'histogramme est très utile pour contrôler l'exposition d'une image. • A l'acquisition, il permet de contrôler et affiner les réglages

Embed Size (px)

Citation preview

5 . Traitement d'image ?

5.1 Histogrammes

PLAN

5.1.1 Histogrammes : définition et utilité 5.1.2 Histogrammes des images en niveaux de gris 5.1.3 Histogramme des images couleurs 5.1.4 Courbes de modification des histogrammes 5.1.5 Applications

A - Inverse vidéo (négatif photo) B - Binarisation par seuillage D - Expansion de la dynamique E - Réduction de la dynamique et du contraste F - Accentuation du contraste G - Correction Gamma H - Egalisation (Equalization)

5.1.1 Histogrammes : définition et utilité

Un histogramme est une courbe statistique indiquant la répartition des pixels selon leur valeur. L'histogramme est très utile pour contrôler l'exposition d'une image.

• A l'acquisition, il permet de contrôler et affiner les réglages de prise de vue.

• Pour le traitement, il permet de corriger ou modifier l'exposition de l'image, ainsi que l'échelle des couleurs. Par exemple : améliorer le contraste, corriger une image sous-exposée, renforcer la composante rouge, corriger la non-linéarité du capteur....

• En utilisant judicieusement l'histogramme, on peut faire apparaître les détails et les nuances acquises par le capteur et présentes dans le fichier, mais non visibles à l'oeil.

5.1.2 Histogrammes des images en niveaux de gris

Il indique pour chaque valeur entre le noir (0) et le blanc (255), combien il y a de pixels de cette valeur dans l'image; en abcisse (axe x) : le niveau de gris (de 0 à 255); en ordonnée (axe y) : le nombre de pixels

Les pixels sombres apparaissent à gauche de l'histogramme, les pixels clairs à droite de l'histogramme et les pixels gris au centre de l'histogramme.

animation : décomposition de la construction d'un histogramme.

Figure 1 : exemple d'histogrammes pour une même image "plus ou moins bien exposée"

Figure 2 : quelques histogrammes typiques. Ces histogrammes ont été réalisés avec Photoshop. La crête est coupée pour obtenir davantage de lisibilité.

Image sombre (sous-exposée) : beaucoup de pixels pour les faibles valeurs de niveau de gris

Image claire (sur-exposée) : beaucoup de pixels pour les valeurs claires de niveau de gris

Image peu contrastée : la plupart des pixels pour les valeurs moyennes de niveaux de gris

Image presque binaire : pixels concentrés vers le noir et le blanc

Image saturée: beaucoup de pixels blancs : pic pour la valeur 234

5.1.3 Histogramme des images couleurs

Pour les images couleurs, plusieurs histogrammes sont utilisés:

• l'histogramme des luminances • les 3 histogrammes de chacune des composantes R,V,B

Image 1 : image colorée correspondant à des histogrammes différents pour chaque composante.

Image 2 : image "dense", c'est à dire sombre, et contenant beaucoup de rouge: l'histogramme de la composante rouge contient relativement plus de fortes valeurs comparativement aux autres histogrammes V et B.

Image 3 :"surexposée", c'est à dire claire. Ici l'image contient beaucoup de gris et les histogrammes sont similaires.

5.1.4 Courbes de modification des histogrammes

Cette courbe permet de réaliser une modification globale des niveaux de gris de l'image. Elle indique pour chaque niveau de gris quelle sera sa valeur finale après modification : en abcisse (axe x) le niveau inital (entre 0 et 255) et en ordonnée (axe y) le niveau final (entre 0 et 255)

entrée

---->

---->

sortie

Modification de la courbe de luminosité: les pixels sombres, entre 0 et 127 c'est à dire dans la partie droite de la courbe, diminuent de valeur, alors que les pixels clairs, entre 128 et 255, augmentent de valeur. Par exemple le pixel gris de valeur 121 prendra en sortie la valeur 58 (gris foncé) et le pixel gris clair de valeur 194 prendra en sortie la valeur 231, gris plus clair. Lorsque la courbe de modification de l'histogramme se trouve en dessous de la diagonale, les pixels diminuent de valeur, donc deviennent plus sombres et inversement, lorsque la courbe est au-dessus de la diagonale, les pixels augmentent de valeur et deviennent plus clairs.

Tous les pixels de même niveau de gris subissent la même modification.

La position de la courbe par rapport à la diagonale indique si les valeurs sont assombries ou éclaircies.

Pour une meilleure compréhension des courbes correspondantaux applications suivantes, voyez l'animation

5.1.5 Applications

A - Inverse vidéo (négatif photo) :

Le négatif est obtenu en appliquant la même courbe diagonale inverse aux 3 canaux RVB.

B - Binarisation par seuillage

Tous les pixels de niveau inférieur au seuil sont mis à 0. Tous les pixels de niveau supérieur au seuil sont mis a 255.

Exemple d'image avec différents niveaux de binarisation :

crâne en niveaux de gris seuil = 76 seuil = 128 seuil = 176

D - Expansion de la dynamique

-->

-->

Figure : expansion de la dynamique: dilatation de l'histogramme entre les valeurs 53 et 172. Après expansion les valeurs sont comprises entre 0 et 255. Toutes les valeurs inférieures à 53 deviennent égales à 0 (noires) et toutes les valeurs supérieures à 172 deviennent égales à 255 (blanches).

E - Réduction de la dynamique et du contraste

L'échelle du noir au blanc est ramenée entre un gris sombre et un gris clair.

----->

image et histogramme avant transformation réduction de l'échelle des gris entre 45 et 227 image et histogramme après transformation

F - Accentuation du contraste

Les pixels sombres sont assombris. Les pixels clairs sont éclaircis.

------>

image et histogramme avant transformation courbe d'accentuation du contraste image et histogramme après transformation

G - Correction Gamma

Elle permet de corriger la non linéarité du capteur (caméra, scanner) ou de l'écran en répartissant l'échelle des gris pour augmenter les nuances soit

dans le sombre soit dans le clair .

Le niveau de sortie s d'un pixel de niveau d'entrée e est donné par :

L'exemple suivant a été réalisé sous PaintShopPro avec le menu "Couleurs -> ajuster -> gamma". Au centre l'image d'origine.

image corrigée avec un gamma de 0.6

image d'origine ( gamma=1)

image corrigée avec un gamma de 2,5 (des nuances sont rajoutées dans les zones foncées)

histogramme après correction

histogramme avant correction

histogramme après correction

H - Egalisation (Equalization) :

L'égalisation réalise une correction automatique de l'échelle des niveaux de gris de l'image, en fonction de son histogramme. La courbe de transformation appliquée dépend de l'image. L'égalisation a pour but de répartir uniformément les pixels dans chacun des niveaux : idéalement, on cherche à avoir le même nombre de pixels pour tous les niveaux de 0 a 255.

Son effet est de rajouter des nuances dans les grandes zones uniformes... pour le meilleur et pour le pire (voir exercices)

image d'origine image après égalisation

L'exemple ci-dessus a été réalisé en mode RVB sous Photoshop (menu Image->Réglages->Egaliser)

5.1 Exercices sur les histogrammes

A - Expansion de la dynamique

Pour des images n'utilisant pas toute la gamme des niveaux de gris, on ramène l'échelle des niveaux de gris entre le noir et le blanc.

1. Sauvegardez les 2 images ci-dessous en cliquant dessus avec le bouton droit de la souris et chargez-les dans un logiciel de traitement d'image 2. Retrouvez les règlages permettant de passer d'une image à l'autre et visualisez l'histogramme de départ et l'histogramme résultat.:

------>

?

Sous Photoshop, utilisez le menu "Image->Réglages->Niveaux", Sous Gimp cliquez sur l'image avec le bouton droit de la souris et sélectionnez le menu "Outils->Outils de couleurs -> niveaux"

Question :

• Donnez les valeurs des niveaux d'entrée et de sortie pour passer d'une image à l'autre

B - courbe de modification de l'histogramme

sous gimp,

1. récupérez l'image ci-dessous sous votre navigateur en cliquant dessus avec le bouton droit de la souris 2. chargez l'image sous Photoshop ou Gimp, 3. sous Gimp, cliquez avec le bouton droit de la souris puis chargez le menu "Outils->Outils de couleurs -> courbes",

sous Photoshop sélectionnez le menu "Image->Réglages->Courbes", 4. retrouvez les valeurs des 2 points de contrôle de la courbe de modification de l'histogramme, de manière à obtenir l'image modifiée suivante :

image initiale image modifiée

Question :

Donnez la position des points de contrôle

C - Egalisation

L'égalisation n'est pas toujours une réussite :

image d'origine

image après égalisation

Attention : pour les images couleurs, l'égalisation est réalisée indépendamment sur chaque composante RVB. Les 3 courbes sont différentes et ceci provoque des modifications de la teinte. Pour égaliser une image couleur, il faut passer en mode Lab et égaliser uniquement sur le luminance.

- sous Photoshop :

1. chargez l'image du vautour sur le pont, sauvegardez-la chez vous en cliquant dessus avec le bouton droit de la souris, 2. cette image est en mode RVB. Faites une égalisation dessus ( menu "Image->Réglages->Egaliser") et sauvegardez-la en jpeg. 3. Rechargez-la et passez en mode Lab (menu "Image->Mode->couleurs Lab"), faites ensuite une égalisation dessus (en fait sur la luminance*), menu "Image-

>Règlages->Egaliser", puis sauvegardez l'image.

4. Observez les histogrammes dans chacun des modes avant et après (en cas de problème, chargez les images résultats en RVB et Lab ). Attention les images sont stockées en mode RVB.

5. Que constatez-vous ? Réponse

- sous Gimp :

• chargez l'image du vautour sur le pont, sauvegardez-la chez vous en cliquant dessus avec le bouton droit de la souris, • cette image est en mode RVB. Faites une égalisation dessus ( menu "Calque->Couleurs->Auto->Egaliser") et sauvegardez-la en jpeg. • Rechargez-la et passez en mode Lab (menu "Filtres->Couleurs->Décomposer", faites ensuite une égalisation dessus (en fait sur la luminance*, voir le menu

"Dialogue->Calques"), recomposer l'image en RVB (dans la version gimp2.0, ça ne marche pas en fait, elle reste en niveaux de gris !) puis sauvegardez l'image. • Observez les histogrammes dans chacun des modes avant et après (si vous ne possèdez pas Photoshop, chargez les images résultats en RVB et Lab sous

Gimp ou Paintshop Pro). Attention les images sont stockées en mode RVB. • Que constatez-vous ? Réponse

Question :

Sur l'image suivante , réalisez l'égalisation en mode RVB et Lab et envoyez les images résultats.

5.1 Histogrammes

1 - Sur un histogramme, l'axe x représente:

- -un nombre de pixels

- -un niveau de gris

- -une position dans l'image

2 - Sur un histogramme, l'axe y représente:

- -un nombre de pixels

- -un niveau de gris

- -une position dans l'image

3 - Quelle est l'allure de l'histogramme d'une image fortement contrastée?

- -l'histogramme est "tassé" vers la droite

- -l'histogramme a 2 bosses, l'une à droite, l'autre à gauche

- -l'histogramme est "en peigne", avec de nombreuses valeurs à 0

4 - A quelle image correspond un histogramme presque nul partout.

- -une image très sombre

- -une image très peu contrastée

- -une image très petite

5 - Si on additionne toutes les valeurs de l'histogramme entre 0 et 255, on obtient le nombre de pixels de l'image.

- -VRAI

- -FAUX

6 - Si on applique une symétrie d'axe vertical à une image (ie on prend l'image miroir),quelle sera l'allure de l'histogramme?

- -il est identique

- -c'est l'histogramme symétrique (miroir)

- -il peut être complètement différent

7 - Pour une image ne contenant que des gris, les 3 histogrammes couleur R,V,B sont identiques.

- -VRAI

- -FAUX

8 - Si les 3 histogrammes R,V,B d'une image couleur sont identiques, alors l'image ne contient que des gris.

- -VRAI

- -FAUX

9 - Sur une courbe de modification de l'histogramme, l'axe x représente:

- -un nombre de pixels

- -un niveau de gris

- -une position dans l'image

10 - Sur une courbe de modification de l'histogramme, l'axe y représente:

- -un nombre de pixels

- -un niveau de gris

- -une position dans l'image

11 - Lorsqu'on applique une courbe de modification de l'histogramme, 2 pixels de niveaux de gris identiques dans l'image d'origine auront également des niveaux de gris identiques dans l'image modifiée.

- -VRAI

- -FAUX

12 - Lorsqu'on applique une courbe de modification de l'histogramme, si un pixel était plus sombre qu'un autre pixel, il restera plus sombre après modification.

- -Toujours vrai

- -Vrai seulement si la courbe est croissante

13 - Si la courbe de modification de l'histogramme est au-dessus de la diagonale, alors :

- -tous les pixels sont éclaircis

- -l'histogramme va être décalé vers la droite

- -les valeurs de l'histogramme sont augmentées

14 - Si la courbe de modification de l'histogramme est au-dessous de la diagonale, alors:

- -tous les pixels sont assombris

- -l'histogramme va être décalé vers la gauche

- -les valeurs de l'histogramme sont réduites

15 - Lorsqu'on augmente le contraste en utilisant une courbe de modification de l'histogramme, on obtient généralement un histogramme en peigne:

- -VRAI

- -FAUX

16 - Lorsqu'on réduit le contraste en utilisant une courbe de modification de l'histogramme, on obtient généralement un histogramme en peigne

- -VRAI

- -FAUX

17 - La correction Gamma éclaircit l'image.

- -Toujours vrai

- -Vrai seulement si gamma > 1

- -Vrai seulement si gamma < 1

Supprimez vos réponses

5 . Traitement d'image ?

5.2 Filtres

PLAN

5.2.1 Définition et utilité 5.2.2 Principe général des filtres 5.2.3 Flou

A Flou moyenneur B Flou gaussien

5.2.4 Acentuation du contraste (sharpening)

A Accentuation par différence B Accentuation par max/min

5.2.5 Débruitage : filtre médian 5.2.6 Filtres de convolution 5.2.7 Filtres adaptatifs

A Principe B Critères de sélection C Exemples

Accentuation par différence Lissage avec protection des contours Antipoussière Traitements sur les contours

5.2.1 Définition et utilité

Un filtrage est un traitement qui s'applique globalement à toute l'image. Pour chaque pixel de l'image, le filtre calcule sa nouvelle valeur en tenant compte du voisinage du pixel.

Les effets des filtres sont très variés :

Filtres "esthétiques"

Beaucoup de filtres ont pour but un effet visuel. Leur nom et leur paramètres se comprennent intuitivement . Par exemple : "effet loupe", avec comme paramètres le rayon et la force de la loupe. Dans ce cas, leur utilisation est simple et intuitive.

Filtres de traitement

Par contre, les filtres destinés à l'amélioration de l'image (débruitage, lissage), sont moins intuitifs. Pour les utiliser efficacement, il faut comprendre l'algorithme utilisé et ses paramètres. On s'attache donc à ce deuxième type de filtre.

5.2.2 Principe général des filtres

Pour chaque pixel, le filtre utilise les valeurs des pixels voisins pour calculer la valeur finale du pixel.

Dans l'exemple ci-contre le voisinage du pixel central est : de 3x3 (rayon 1) si on considère les pixels rouges, de 5x5 (rayon 2) si on considère aussi les pixels oranges de 7x7 (rayon 3) si on considère également les pixels jaunes.

Un filtre est donc caractérisé par :

1. la forme du voisinage (généralement un carré centré sur le pixel) 2. la taille (ou rayon) du voisinage, 3. l'algorithme de calcul de la valeur finale

Exemples de calcul sur les valeurs du voisinage:

1. somme ou différence des valeurs, avec ou sans pondération 2. max ou min de valeurs 3. calcul conditionnel : incluant des tests sur les valeurs

5.2.3 Flou

Les filtres de flou consistent à modifier la valeur du pixel pour qu'elle se rapproche de celle des pixels voisins. Les différences entre pixels voisins sont donc réduites ; le bruit, les contours et les détails sont atténués ; l'image est "lissée".

A - Flou moyenneur

Ce filtre attribue au pixel la moyenne des valeurs dans le voisinage.

image avant application du filtre flou moyenneur avec un voisinage 5x5, (obtenu sous Photoshop)

B - Flou gaussien

Ce filtre réalise une moyenne pondérée des valeurs dans le voisinage, avec un poid fort au centre du voisinage et faible à la périphérie. (la pondération suit une forme de gaussienne, i.e. en cloche)

image avant utilisation du filtre après passage du filtre gaussien 5x5 (réalisé avec Photoshop)

5.2.4 Accentuation du contraste (sharpening)

Principe : assombrir les pixels sombres et éclaircir les pixels clairs. Les contours, les détails et le bruit sont renforcés ; les zones unifomes sont inchangées.

Remarque : Ici "sombre" et "clair" se comprennent par rapport au voisinage, et non pas à toute l'image comme c'etait le cas du traitement par histogramme : l'effet est donc plus local. 2 pixels de même niveau dans l'image initiale ne subissent pas la même modification.

image d'origine augmentation du contraste (sous gimp avec seuil=50)

A - Accentuation par différence

Principe : calculer la différence entre le niveau du pixel et celui de ses voisins. et lui ajouter cette différence.

pixel clair -> différence positive -> pixel éclairci pixel sombre -> différence négative -> pixel assombri

Remarque : la différence peut être pondérée par un coefficient multiplicatif pour régler la force de l'accentuation

image d'origine rayon 4, gain = 50% rayon=20, gain=50% rayon=20, gain=150%

Figure: sous Photoshop, filtre Accentuation (avec un seuil nul). Pour éviter une transformation des couleurs, il est conseillé de passer en mode Lab.

B - Accentuation par max/min

Principe : ramener le niveau du pixel au min de ses voisins pour les pixels sombres ou au max de ses voisins pour les pixels clairs.

Calcul :

si niveau >(min + max)/2 niveau de sortie = max sinon niveau de sortie = min

photo d'origine filtre minimum avec pour rayon 1 filtre maximum avec pour rayon 1

5.2.5 Débruitage : filtre médian

Ce filtre permet de supprimer les pixels isolés.

Remarque : Contrairement au flou, ce filtre conserve la netteté des contours; le bruit n'est pas étalé mais supprimé.

Principe : Un pixel isolé, de niveau très supérieur ou très inférieur à ses voisins, est remplacé par un pixel du même niveau que l'un de ses voisins.

Calcul :

1. trier les valeurs du voisinage par ordre croissant. 2. sélectionner la médiane des valeurs

(la médiane est la valeur "milieu" : 50 % des valeurs sont plus sombres, et 50% sont plus claires)

3. attribuer cette valeur médiane au niveau de sortie

30 0 140

10 20 180 210 50 200

---> 0 10 20 30 50 140 180 200 210 --->

30 0 140

10 50 180 210 50 200

voisinage du pixel tri par ordre croissant des valeurs des pixels et calcul de la médiane

affectation de la valeur médiane à ce

pixel

comparaison avec un filtre moyenneur :

30 0 140 10 20 180 210 50 200

---> (30+0+140+10+20+180+210+50+200) / 9 = 93 --->

30 0 140 10 93 180 210 50 200

voisinage du pixel calcul de la moyenne affectation de la

valeur moyenne à ce pixel

filtre median de rayon 2 Photoshop

(équivalent au filtre antipoussière de rayon 2 avec seuil nul) filtre flou moyenneur 5x5

Figure : comparaison de 2 filtres flous

image d'origine :

filtre moyenneur

--->

10 10 10 10 10 10 20 20 20 10 10 20 20 20 10

10 20 20 20 10 10 10 10 10 10

le bruit est étalé

10 10 10 10 10 10 10 10 10 10

10 10 100 10 10

10 10 10 10 10

10 10 10 10 10 filtre médian

--->

10 10 10 10 10 10 10 10 10 10 10 10 10 10 10

10 10 10 10 10 10 10 10 10 10

le bruit est

supprimé

Figure : comparaison des filtres médian et moyenneur pour un bruit isolé

filtre moyenneur

--->

10 10 50 90 130 130

10 10 50 90 130 130 10 10 50 90 130 130

10 10 50 90 130 130

10 10 50 90 130 130 10 10 50 90 130 130

le contour est flou

10 10 10 130 130 130

10 10 10 130 130 130 10 10 10 130 130 130

10 10 10 130 130 130

10 10 10 130 130 130 10 10 10 130 130 130

filtre

médian

--->

10 10 10 130 130 130

10 10 10 130 130 130 10 10 10 130 130 130

10 10 10 130 130 130

10 10 10 130 130 130

10 10 10 130 130 130

le contour

est conservé

Figure : comparaison des filtres médian et moyenneur pour un contour : le filtre médian n'abime pas les contours.

5.2.6 Filtres de convolution

Ce sont tous les filtres qui calculent le niveau de sortie par une somme pondérée des niveaux du voisinage. Le masque de convolution donne le poids associé à chaque pixel du voisinage et définit le filtre.

30 0 240

120 60 180 210 150 105

X

1/12 1/8 1/12

1/8 1/4 1/8 1/12 1/8 1/12

=

120

voisinage du pixel matrice de convolution résultat du produit

Cij = 30x1/12 + 0x1/8 + 240x1/12 + 120x1/8 + 60x1/4 + 180x1/8 + 210x1/12 + 150x1/8 + 105x1/12 = 120

Parmi les filtres disponibles dans les menus, certains sont des filtres de convolution. Exemple: les filtres flou moyenneur, flou gaussien, accentuation par différence.

Les filtres ci-dessous ont été réalisés en éditant la matrice de convolution sous PaintShopPro ("Image->Filtres Personnalisés->Nouveau"), les mêmes possibilités existent sous Photoshop ("Filtre->Divers->Autre") et Gimp ("Filtres->Génériques->Convolution par matrice").

Figure : masque de convolution associé à un filtre moyenneur 3x3

Application d'un filtre moyenneur 3x3 : 1/9 1/9 1/9 1/9 1/9 1/9 1/9 1/9 1/9

Figure : masque de convolution associé à un filtre moyenneur 5x5

Application d'un filtre moyenneur 5x5:

1/25 1/25 1/25 1/25 1/25 1/25 1/25 1/25 1/25 1/25 1/25 1/25 1/25 1/25 1/25 1/25 1/25 1/25 1/25 1/25

1/25 1/25 1/25 1/25 1/25

Figure : masque de convolution associé à un filtre gaussien 3x3

Application d'un filtre gaussien 3x3 : 1/16 2/16 1/16 2/16 4/16 2/16 1/16 2/16 1/16

Figure : masque de convolution associé à un filtre accentuation par différence

Application d'un filtre accentuation par différence :

-1 -1 -1 -1 9 -1 -1 -1 -1

5.2.7 Filtres adaptatifs

A Principe :

Le filtre comprend une étape de sélection des pixels. Seuls les pixels sélectionnés sont filtrés, les autres sont inchangés.

Figure : mode de fonctionnement d'un filtre adaptatif

Les filtres adaptatifs sont très intéressants, car il permettent d'agir localement dans l'image et de conserver intactes les autres zones. Ils sont aussi plus délicats d'utilisation car il faut également régler les paramètres pour l'étape de sélection (généralement un seuil). Les filtres disponibles dans les logiciels proposent en général un paramètre "seuil" qui permet de les utiliser en version adaptative.

B Critères de sélection :

La sélection est souvent basée sur un seuil à fournir.

• zone claire

moyenne (voisinage) > seuil

0 50 100 200 0 50 100 200 0 50 100 200

0 50 100 200

25 50 117 150 50 50 117 150 50 50 117 150

25 50 117 150

S S S S S S

S S

S S S

S

valeur des pixels calcul de la moyenne du voisinage 3x3 seuil = 80 seuil =128

ici 8 voisins et pixel inclus zone claire

moyenne(voisinage) > 80

zone claire

moyenne(voisinage) > 128

Figure : sélection des pixels en zone claire pour différents seuils sur un carré de pixels donné. La lettre S désigne les pixels sélectionnés.

• zone sombre

moyenne (voisinage) < seuil

• zone de fort contraste

max (voisinage) - min (voisinage) > seuil

• zone de faible contraste

max(voisinage) - min(voisinage) < seuil

• pixel isolé

niveau - moyenne(voisinage) > seuil

• point de contour

sortie d'un filtre de détection de contours > seuil

0 50 100 200

0 50 100 200 0 50 100 200 0 50 100 200

50 100 150 100

50 100 150 100 50 100 150 100 50 100 150 100

S

S S S

S S S

S S S S S S S S S

pixels d'origine seuil = 75 seuil = 75

calcul du seuil pour chaque pixel

max(voisinage) - min(voisinage)

zone de faible contraste

max(voisinage) - min(voisinage) < 75

zone de fort contraste

max(voisinage) - min(voisinage) >75

Figure : exemple de sélection des pixels sur un critère de contraste. La lettre S désigne les pixels sélectionnés.

C Exemples de filtres adaptatifs:

Tous les filtres peuvent exister en version adaptative. On mentionne quelques exemples couramment proposés.

• Accentuation par différence

pixel clair -> différence > seuil -> pixel éclairci pixel sombre -> différence < seuil -> pixel assombri

Remarque : la différence peut être pondérée par un coefficient multiplicatif pour régler la force de l'accentuation

image d'origine seuil =0, rayon 20, gain = 100% seuil=20, rayon=20, gain=100% seuil=50, rayon=20, gain=100%

Figure: sous Photoshop, filtre Accentuation avec variation de la valeur du seuil. Plus le seuil est élévé, moins il y a d'effet granuleux; plus le seuil est bas et plus l'accentuation est forte. Pour éviter une transformation des couleurs, il est conseillé de passer en mode Lab.

• Lissage avec protection des contours

Le filtre de lissage est appliqué uniquement en dehors des points de contour. On conserve ainsi la netteté des contours tout en lissant l'image. (réalisé avec Photoshop sur l'image cimetiere1)

rayon 5, seuil 25 rayon 5, seuil 50 rayon 5, seuil 100

Figure : Sélection des pixels en fonction du seuil (ici seuil=50), puis application du filtre avec un rayon identique (rayon=5), l'exemple a été réalisé sous Photoshop sur l'image cimetiere1 à l'aide du filtre "Filtre->Atténuation->Flou optimisé"

• Antipoussière Pour éviter de supprimer les détails, on utilise le filtre médian en sélectionnant uniquement les pixels à très fort contraste.

image d'origine et détail de la poussière (en haut au dessus du coquillage de droite)

image modifiée et détail de la poussière

application du filtre uniquement sur la zone entourant la poussière

Figure : traitement sous Photoshop : sélection des pixels dont la différence est supérieure au seuil (ici de 64) et application du filtre antipoussière avec un rayon de 7 (pour visualiser l'image en grand, cliquez dessus. Sur l'image de détail on note que seulement les 2 pixels clairs du centre ont été modifiés. Si vous observez attentivement les bords de coquillages, vous noterez que les pixels de fort contraste ont été remplacé par des valeurs moyennes. Il faut donc sélectionner d'abord la zone de la poussière avant d'appliquer le filtre.

• Traitements sur les contours

Image d'origine, cliquez sur les images pour les voir en taille réelle.

Sous Photoshop, utilisation du filtre "Flou optimisé", mais en mode contour seul (puis inversion). Le seuil fixé à 80 sélectionne les pixels sur lesquels va opérer le filtre, autrement dit sélectionne les contours à conserver.

Figure : filtre de sélection des contours

5.2 Exercices sur les filtres

I - Influence de la résolution sur les paramètres des filtres

sous Photoshop, Gimp ou PaintshopPro :

1. charger l'image "cimetiere1.jpg" de dimension 340 x 222 (ou cliquez sur l'image ci-dessus) 2. appliquer un filtre flou 3. charger la même image en plus hautre résolution : "cimetiere1.HR.jpg" (dimension 1700 x 1110) 4. appliquer le même filtre flou 5. modifier l'affichage de la première vue de manière à obtenir la même échelle pour les deux images et comparez 6. faites le même exercice avec le flou gaussien en règlant le rayon du flou à 1 pour l'image basse résolution

"cimetiere1.jpg" et chercher le rayon de flou équivalent pour l'image haute résolution "cimetiere1.HR.jpg"

Question:

1. A l'issue de l'étape 5, comment expliquez-vous la différence ? 2. Donnez le rayon de flou équivalent utilisé à l'étape 6

II - Utilisation d'une matrice de convolution

1. chargez l'image "escalierColimasson.jpg" ci-contre Pour cela chargez-là et cliquez dessus avec le bouton droit de la souris pour la sauvegarder chez vous.

2. créez-en 2 copies dans des calques et sélectionnez un calque 3. sous Gimp, utiliser le menu "Filtre -> Générique -> Convolution par matrice "

sous Photoshop utilisez le menu "Filtre -> Divers -> Autre" sous PaintShopPro le menu "Filtre -> Personnalisés -> Editer "

4. saisissez d'abord un filtre moyenneur en rentrant des "1" sur une matrice 3x3 au centre et des "0" ailleurs et choisissez 9 comme diviseur ou quotient

5. appliquer le filtre sur le calque 1 6. étendez la matrice de convolution à une matrice 5x5 et choisissez 25 comme diviseur 7. sélectionnez le calque 2 et appliquez-lui le filtre (rendez les autres calques invisibles d'abord).

Question:

1. Quel est l'effet réalisé par ce filtrage ? 2. Comparez les 2 images obtenues. Comment expliquez-vous la différence ?

III - Dépoussiérage

1. Chargez cette image . Pour cela chargez-là et cliquez dessus avec le bouton droit de la souris pour la sauvegarder chez vous.

2. Sélectionnez avec le lasso magnétique la zone du ciel. Vous pouvez sélectionner en plusieurs fois en ajoutant successivement des zones, pour cela gardez la touche Maj enfoncée.

3. Appliquez le filtre anti-poussière (sous Photoshop menu "Filtre->Bruit->Antipoussiere", sous Gimp menu "Filtres->Amélioration->Anti-parasite), pour cela :

4. commencez par mettre le seuil à zéro, puis augmenter progressivement le rayon jusqu'à ce que les poussières disparaissent.

5. Augmenter maintenant le seuil jusqu'à ce que les poussières soient sur le point de réapparaître. L'augmentation du seuil rétablit une certaine granulosité.

6. Réitérez l'expérience en sélectionnant les rayures sur le sable.

Question:

1. Donnez le rayon et le seuil que vous avez utilisé pour le ciel 2. Donnez le rayon et le seuil que vous avez utilisé pour le sable 3. Expliquez l'influence du rayon 4. Expliquez l'influence du seuil 5. Envoyez l'image résultat obtenue.

5.2 Les filtres

1 - Lorsqu'on applique un filtrage, 2 pixels de niveaux de gris identiques dans l'image d'origine auront nécessairement des niveaux de gris identiques dans l'image modifiée.

- VRAI

- FAUX

2 - On applique un filtre 3x3 à une image, dont voici un petit morceau:

0 30 0 70 10 0* 30+ 0 20 0 0 50 0 40 20 0

Quelle sera la valeur du pixel * après filtrage médian 3x3?

- 0

- 10

- 20

3 - Quelle sera la valeur du pixel + après filtrage médian 3x3?

- 0

- 10

- 20

4 - Quelle sera la valeur du pixel * après filtrage moyenneur 3x3?

- 0

- 10

- 20

5 - Quelle sera la valeur du pixel + après filtrage moyenneur 3x3?

- 0

- 10

- 20

6 - Si une valeur de la matrice de convolution est nulle, alors

- la matrice n'est pas valide

- le pixel voisin correspondant à la position de la valeur n'intervient pas dans le calcul

- le pixel voisin correspondant à la position de la valeur est mis à zéro (il devient noir)

7 - Quel est l'effet d'un filtrage par la matrice de convolution suivante:

0 0 0 0 1 0 0 0 0

- un flou

- un éclaircissement

- aucun effet : l'image est inchangée

8 - Quel est l'effet d'un filtrage par la matrice de convolution suivante:

0 0 0 0 2 0 0 0 0

- un flou

- un éclaircissement

- aucun effet : l'image est inchangée

9 - Un logiciel vous propose un filtre de flou qui préserve les contours. On vous demande de donner un seuil entre 0 et 255. A votre avis quels sont les pixels pré-sélectionnés avec ce seuil ?

- les pixels dont le contraste dans le voisinage est inférieur au seuil

- les pixels dont le contraste dans le voisinage est supérieur au seuil

- les pixels dont le contraste dans le voisinage est égal au seuil

10 - Un logiciel vous propose un filtre de dépoussiérage qui préserve les détails. On vous demande de donner un seuil entre 0 et 255. A votre avis quels sont les pixels pré-sélectionnés avec ce seuil ?

- les pixels dont la différence avec leurs voisins est inférieure au seuil

- les pixels dont la différence avec leurs voisins est supérieure au seuil

- les pixels dont la différence avec leurs voisins est égale au seuil

Supprimez vos réponses

5 . Traitement d'image ?

5.3 Segmentation : détourage automatique et sélection par les couleurs

PLAN

5.3.1 Définition et utilité 5.3.2 Détourage

Hypothèses Principe Traitements automatiques/manuels Règlages Avantages/limites Outils existants

5.3.3 Sélection par couleur

Hypothèses Principe Traitements automatiques/manuels Extensions Règlages Avantages/limites Outils existants

5.3.1 Définition et utilité

Les méthodes de segmentation d'image ont pour but d'extraire automatiquement un ou plusieurs objets de l'image. Le résultat est un masque (image binaire) qui indique les pixels appartenant aux objets et les pixels appartenant au fond. (par exemple : objets en blanc et fond en noir).

extraction d'objet après détourage

l'objet extrait

le masque correspondant

La segmentation est un problème très complexe et il n'existe pas actuellement de méthode de segmentation automatique satisfaisante pour tout type d'image. Dans les logiciels de retouche, les outils proposés sont donc généralement semi-automatiques : les algorithmes de segmentation sont utilisés comme une aide à l'utilisateur, mais celui-ci doit intervenir pour initialiser, guider, paramétrer ou corriger l'outil automatique. Ensuite, pour obtenir la segmentation voulue, il sera souvent utile de faire des retouches sur le masque, ainsi que de combiner plusieurs masques issus de différentes segmentations.

Il existe 2 classes de méthodes pour segmenter un objet :

1. les méthodes qui déterminent le contour de l'objet (détourage) 2. les méthodes qui déterminent les pixels appartenant à l'objet (sélection par la couleur)

5.3.2 Détourage

1. Hypothèses

-le bord de l'objet présente un fort contraste avec le fond -l'objet est connexe (en un seul morceau) -l'objet ne présente pas de contour intérieur

2. Principe

-détecter les points de fort contraste -les relier de façon à obtenir un contour fermé -éventuellement, rendre ce contour vectoriel

3. Traitements automatiques / manuels

La détection automatique des points de fort contraste est simple (par un filtre de détection de contour). Par contre, le chaînage automatique des points est très difficile (choix du point de départ, règles pour prolonger le contour, évitement des contours parasites...).

Les traitements automatiques servent donc à modifier (déplacer /affiner) un contour initial défini interactivement, afin qu'il passe par les points de fort contraste et/ou pour qu'il soit plus lisse. L'algorithme permet de trouver le "meilleur" contour entre 2 points de passage, avec un compromis entre la précision (le contour suit des points de fort contraste) et le lissage (suppression des irrégularités).

L'utilisateur peut intervenir manuellement de différentes façons : -contour entièrement manuel (Photoshop : lasso, plume) -indication d'une suite de points de passage du contour (Photoshop : lasso polygonal / magnétique, plume) -initialisation du contour par un contour épais (Photoshop : sélecteur de contour / surligneur) :

4. Réglages

-compromis entre précision et lissage -taille du voisinage autour du contour initial, qui sera prise en compte dans le calcul du contour final -déviation autorisée lors de la vectorisation

Détourage à l'aide du lasso magnétique sous Photoshop avec lissage et une déviation du tracé de 10%

Même paramètre de déviation, mais sans lissage

Figure: règlage des paramètre de détourage sous Photoshop

5. Avantages/ Limites

- Ces méthodes s'appliquent uniquement dans le cas où les hypothèses sont valides. - Elles nécessitent une bonne initialisation manuelle. - Le contour trouvé automatiquement n'est pas toujours satisfaisant :

o Le bruit et la texture génèrent des points de fort contraste qui "attirent" le contour automatique. o Dans les zones où le contour est très flou, il n'y a pas de points de fort contraste et le contour automatique n'a pas de point d'accroche.

- Un bon choix de paramètres est donc important, mais délicat.

6. Outils existants

Photoshop : lassos (en particulier magnétique), sélecteur de contour, plume magnétique

5.3.3 Sélection par la couleur

o Hypothèses

-la couleur de l'objet est relativement homogène et distincte de celle des objets voisins -pas d'hypothèse sur la connexité de l'objet

o Principe

-identifier la couleur caractérisant l'objet -définir les "couleurs proches" -les pixels appartenant à l'objet sont tous les pixels de couleur proche

image originale zones sélectionnées

Figure : sélection des zones bleues et affichage de la zone sélectionnée à travers un masque blanc (sous Photoshop)

sous Photoshop menu de sélection par couleur lors d'un choix des taches rouges

Après suppression de cette zone on note que la sélection n'est pas une plage uniforme. Cette technique ne s'adapte donc qu'à des taches de couleur assez uniforme à la fois en teinte, saturation et luminance.

Figure : difficulté de sélection d'une couleur malgré un seuil de tolérance élévé

o Traitements automatiques / manuels

L'identification de la couleur de l'objet est faite par l'utilisateur (par sélection d'un pixel de l'objet). Les couleurs proches sont définies à partir d'un seuil fixé par l'utilisateur : une couleur est proche si sa différence de niveau dans les 3 composantes est inférieure au seuil. La recherche dans l'image des pixels similaires est automatique.

En voulant sélectionner la croix, non seulement les pixels appartenant à la croix ne sont pas tous sélectionnés, mais d'autres le sont également.

L'option contigu permet de mieux sélectionner, mais ne suffit pas, car tous les pixels recherchés ne sont pas sélectionnés et des pixels indésirables le sont.

Figure : exemple de sélection par la couleur avec un seuil choisi sous Photoshop

o Extensions

-extension à plusieurs couleurs caractéristiques de l'objet : plusieurs pixels sont sélectionnés -on peut appliquer cette technique sur une seule composante R,V,B ou T, L, S de l'image, selon la composante qui permet le plus facilement de distinguer l'objet du reste de l'image. -on peut appliquer cette technique sur une copie de l'image prétraitée par postérisation (pour rendre les couleurs plus uniformes) et/ou débruitage par filtre médian (pour supprimer les pixels isolés) -on peut utiliser cette technique sur le fond, si il est uniforme, puis inverser le masque de segmentation obtenu.

o Réglages

-choix d'un objet connexe ou non connexe -tolérance : c'est la différence de niveaux maximale acceptée par rapport à la couleur sélectionnée -possibilité d'imposer un contour lissé

o Avantages/Limites

-permet d'obtenir un objet de forme complexe (trous...) -méthode peu adaptée pour les objets très texturés

o Outils existants

Photoshop:

baguette magique : objets contenant une seule couleur caractéristique, résultat connexe ou non connexe gomme magique : sélection du fond, contenant une ou plusieurs couleurs caractéristiques, résultat non connexe sélection par la couleur : objets contenant plusieurs couleurs caractéristiques, résultat non connexe

Exemple : Comment passer de la première image à la seconde ?

1- Utilisez la couche Bleue parmi les couches RVB et règlez les paramètres de la baguette magique de manière à sélectionner les zones foncées et mémorisez cette sélection (menu Sélection ou bouton droit de la souris).:

2- Sur l'image couleur (couche RVB sous Photoshop), utilisez le lasso pour sélectionner la croix et mémorisez cette sélection

3- Faites la soustraction de ces deux sélections (en utilisant par exemple l'outil baguette magique sur toutes les couches) et mémorisez-la.

4- Sélectionnez la zone blanche et revenez sur la photo d'origine. Vous pouvez contrôler cette sélection en la coupant par exemple :

5 - Revenez en arrière pour récupérer la sélection (crtl Z) et appliquez le filtre bruit dessus:

6 - Inversez cette sélection, puis en utilisant les calques, appliquez par exemple le pot de peinture dessus avec une couleur fuchsia.

7 - Faites de même en utilisant la sélection sur la croix et appliquez le pot de peinture bleue dessus.

5.3 Exercices sur la segmentation

1. Sélection par couleur

Sous Gimp ou Photoshop (version 5 et plus), chargez l'image de Bora Bora :

Le but est de sélectionner les iles qui sont sur l'horizon. Pour cela nous allons utiliser la baguette magique et ajouter petit à petit toutes les couleurs de vert.

Sous Photoshop

1. Sélectionnez un rectangle autour des iles 2. Dans le menu Sélection, choisissez "Plage de couleurs". Cet outil vous permet de choisir le type de sélection, prenez l'outil pipette et sélectionnez les iles.

Modifiez ensuite la tolérance pour sélectionner la plus grande zone possible sans sélectionner de parties du ciel. Utilisez le masque et le cache blanc pour bien voir la zone sélectionnée sur l'image (une partie du hobbiecat sera sans doute également sélectionnée).

3. Pour compléter la sélection, utilisez la baguette magique : afficher la fenêtre option dans le menu déroulant "Fenêtre->Afficher option", règler la tolérance assez haute et choisissez l'option contigu dans la palette outil. Maintenez la touche MAJ enfoncée pour ajouter des pixels et utilisez Ctrl+z pour annuler une mauvaise sélection.

4. Lorsque toutes les iles sont sélectionnées, vous pouvez mémoriser la sélection en enfonçant la touche droite de la souris, puis en sélectionnant le menu "mémoriser la sélection". Pour réactiver la sélection il suffit de sélectionner la couche correspondante, puis de choisir le menu "Sélection->Récupérer la sélection".

Sous Gimp

1. Dans le menu "Sélection", choisissez "par couleur" sous Gimp (ou dans la palette d'outils). Afficher la fenêtre d'option par le menu "Dialogues->Option des outils". Cet outil vous permet de choisir le type de sélection, avec la souris sélectionnez les iles. Modifiez ensuite la tolérance (le seuil sous Gimp) pour sélectionner la plus grande zone possible sans sélectionner de parties du ciel ni du hobbiecat.

2. Complétez la sélection avec l'outil "Sélection des régions contigües" (à droite de l'outil lasso sur la palette des outils) en maintenant la touche MAJ enfoncée ou en sélectionnant le mode "Ajouter..." dans les options, utilisez Ctrl+z pour annuler une mauvaise sélection.

3. Lorsque toutes les iles sont sélectionnées, mémorisez la sélection par le menu "Selection->Enregistrer dans un canal". Vous pouvez nommer cette sélection en cliquant sur le bouton en bas à gauche de la fenêtre Canaux. Pour réactiver cette sélection il suffira de sélectionner le canal correspondant et d'activer le bouton

"Canal vers sélection" correspondant au carré rouge en bas de la fenêtre Canaux.

2. Détourage : sélection du hobbiecat

Sous Gimp

1. Revenez sur le calque d'arrière plan et supprimez toute sélection (menu Sélection -> Aucune"). Détourage : à l'aide du lasso ou du lasso magnétique sélectionnez le hobbiecat. Annulez l'option lissage

2. Sélection par couleur : pour enlever les pixels superflus, vous allez utiliser la baguette magique (Sélection des régions contigües). Pour cela règlez le seuil des pixels dans les options de l'outil en fonction de la proximité des couleurs à enlever avec celle du bateau. Pour enlever des pixels sélectionnez le mode "Soustraire de la sélection courante" dans les options et cliquez sur les couleurs à enlever autour de la zone déjà sélectionnée (quand le signe "-" apparait à côté du pointeur de la souris). En cas de problème revenez en arrière en affichant l'historique par le menu "Edition->Historique d'annulation".

3. Pour enlever des pixels superflus, vous pouvez aussi enlever des zones sélectionnées à l'aide du lasso. Pour cela maintenez la touche Ctrl enfoncée pendant que vous effectuez la sélection.

4. Lorsque le bateau est entièrement sélectionné, vérifiez la zone sélectionnée à l'aide du menu "Sélection->(Dé)activer le masque rapide" et sauvegardez-la à travers le menu "Sélection->Enregistrer dans un canal".

Sous Photoshop

1. Revenez sur le calque de fond (couche RVB). Détourage : à l'aide du lasso ou du lasso magnétique sélectionnez le hobbiecat. Annulez l'option lissage 2. Sélection par couleur : pour enlever les pixels superflus, vous allez utiliser la baguette magique. Pour cela règlez la tolérance et la contiguité des pixels dans les

options de l'outil (Fenêtre->Afficher options) en fonction de la proximité des couleurs à enlever avec celle du bateau. Pour enlever des pixels maintenez la touche ALT enfoncée

3. Pour enlever des pixels superflus, vous pouvez aussi enlever des zones sélectionnées à l'aide du lasso. Pour cela maintenez la touche ALTl enfoncée pendant que vous effectuez la sélection.

4. Lorsque le bateau est entièrement sélectionné, sauvegardez votre sélection : avec le bouton droit de la souris enfoncé, choisissez "mémoriser la sélection".

Modification des sélections

Vous pouvez créer des calques par copie des sélections et leur appliquer toutes les transformations et filtres des menus. Ci-dessous un exemple de transformation :

Question:

Prenez une image de votre choix, éventuellement ici.Utilisez des techniques de sélection par la couleur et par les contours pour modifier cette image. Envoyez l'image de départ, l'image résultat et la suite de manipulation réalisées pour l'obtenir.

5.3 Détourage

1 - Les outils de détourage automatique s'appuient sur:

- la détection des points de fort contraste

- la détection des zones de même couleur

- la détection des zones de même texture

2 - Les traitements manuels importants pour le détourage automatique sont:

- l'initialisation du contour

- le réglage des paramètres et des seuils

- la retouche finale du contour

3 - Les outils de sélection par la couleur s'appuient sur:

- la détection des points de fort contraste

- la détection des zones de même couleur

- la détection des zones de même texture

4 - Si un objet est de couleur uniforme, mais avec un éclairage non uniforme comment peut-on espérer le sélectionner?

- en faisant la sélection sur la composante T en mode TLS

- en faisant la sélection sur la composante L en mode TLS

- en faisant la sélection sur la composante S en mode TLS

- en faisant la sélection sur la composante a en mode Lab

- en modifiant son histogramme par une courbe de réduction du contraste

- en utilisant plusieurs couleurs pour la sélection

Supprimez vos réponses