Introduction

106
aitement d’images | Novembre 2013 ard | Paris XIII , Institut Galilée , LAGA | ath.univ-paris13.fr Morphologie pour le traitement d’images en niveau de gris

description

1. Introduction. Introduction. Une image binaire est un sous-ensemble I de : on représente les points appartenant à I par des pixels blancs sur une grille, et les autres points par des pixels noirs. I = { (-2,-1),(-2, 0),(-1,0),(1,-1),(1,1) }. Introduction. - PowerPoint PPT Presentation

Transcript of Introduction

Page 1: Introduction

Cours de traitement d’images | Novembre 2013

John Chaussard | Paris XIII , Institut Galilée , LAGA | Bureau D402

[email protected]

Morphologie pour le

traitement d’images en

niveau de gris

Page 2: Introduction

Chapitre

Introduction

1

Page 3: Introduction

3

INTRODUCTION

Une image binaire est un sous-ensemble I de : on représente les points appartenant à I par des pixels blancs sur une grille, et les autres points par des pixels noirs.

I = { (-2,-1),(-2, 0),(-1,0),(1,-1),(1,1) }

0 0 0 1 0

1 1 0 0 0

1 0 0 1 0

Page 4: Introduction

4

INTRODUCTION

On peut aussi représenter une image binaire par un relief topographique, où les pixels à 1 sont les sommets et les pixels à 0 sont le sol.

0 0 0 0 0

0 1 0 1 0

0 0 1 1 0

0 0 0 0 0

Page 5: Introduction

5

INTRODUCTION

En général, dans une image, les valeurs des pixels ne sont pas limitées à 0 et 1, mais peuvent prendre des valeurs dans différents ensembles.

Par exemple, une image en niveau de gris (8 bits) de dimension n est _______________________________________________________

_______________________________________________________176 173 172 174 175 174 175

179 185 187 181 174 173 165

197 181 168 167 171 169 170

161 170 180 183 180 174 175

Page 6: Introduction

6

INTRODUCTION

On peut noter d’autres types d’images, comment les images en niveau de gris 16 bits ou 32 bits, permettant de récupérer des informations plus précises (souvent utilisé dans des domaines tels que l’astronomie, le médical, …).

Ce sont en général ________________________________________

_______________________________________________________210 246 283 281 292

186 231 346 450 417

179 189 312 475 400

Page 7: Introduction

7

51 51 53 54 60 57

15 30 44 53 55 58

23 34 47 61 61 60

65 61 63 68 67 65

INTRODUCTION

Les images couleur sont ____________________________________

________________________________________________________

89 91 95 99 102 98

53 70 86 95 97 99

61 74 89 101 102 101

100 99 103 107 106 104

101 103 107 110 114 107

65 82 98 107 109 108

73 86 101 113 111 110

113 111 115 116 115 113

Canal rouge

Canal vert

Canal bleu

Page 8: Introduction

8

INTRODUCTION

Les images HDR sont généralement __________________________

_____________________________________0,55 0,53 0,57 0,66 0,71 0,7

0,61 0,61 0,65 0,72 0,79 0,79

0,62 0,63 0,6 0,59 0,6 0,71

0,56 0,35 0,35 0,49 0,55 0,61

0,55 0,53 0,57 0,66 0,71 0,7

0,61 0,61 0,65 0,72 0,79 0,79

0,62 0,63 0,6 0,59 0,6 0,71

0,56 0,35 0,35 0,49 0,55 0,61

0,72 0,71 0,76 0,84 0,91 0,92

0,8 0,81 0,85 0,91 1,01 1,09

0,79 0,8 0,77 0,75 0,79 0,99

0,71 0,46 0,45 0,62 0,72 0,9

Canal rouge

Canal vert

Canal bleu

Page 9: Introduction

9

INTRODUCTION

Dans la suite, on s’intéressera surtout aux images 2d en niveau de gris 8 bits.

Tout comme les images binaires, on peut voir toute image en niveau de gris comme un relief topographique, où les valeurs élevées sont des montagnes tandis que les valeurs basses sont des fossés.

Page 10: Introduction

10

INTRODUCTION

On définira de manière générale une image I n-dimensionnelle comme une application d’un sous-ensemble A de (appelé le domaine de I) vers un ensemble quelconque B (qui représente les valeurs de I).

On écrira : _________________________________

Page 11: Introduction

11

PLAN

Erosion et dilatation en niveau

de grisErosion

Dilatation

Ouverture et fermeture en niveau

de grisOuverture

Fermeture

Filtres par reconstructionReconstruction supérieure

Reconstruction inférieure

Filtres avancésASF

H-extrema et maxima régionaux

Ligne de partage des eaux

Page 12: Introduction

Chapitre

Erosion et dilatation en niveau de gris

2

Page 13: Introduction

Chapitre Section

L’érosion

2 1

Page 14: Introduction

14

L’ÉROSION EN NIVEAU DE GRIS

Revenons sur une image binaire, et calculons l’érosion de I par E :

0 0 0 0 0 0 0 0 0

0 1 1 1 1 1 0 0 0

0 1 0 1 1 1 1 1 0

0 1 0 0 1 1 1 0 0

0 0 1 1 1 1 0 0 0

0 1 1 1 1 1 1 0 0

0 0 0 1 1 1 1 0 0

0 0 0 0 1 0 0 0 0

0 0 0 0 0 0 0 0 0

0 1 0 0

0 0 1 1

0 1 0 1 E

I 𝐼⊖𝐸

Quelle « formule » a-t-on appliqué pour calculer la valeur de ces deux pixels ?

____________________________________________________________________________

Page 15: Introduction

15

L’ÉROSION EN NIVEAU DE GRIS

On peut définir l’érosion binaire, tout comme l’érosion en niveau de gris, en termes de minimum :

On dira que . Ceci fait sens si l’élément structurant contient l’origine (ce qui est souvent le cas en pratique).

Soit (I est donc une image n-dimensionnelle de domaine A et dont les valeurs d’arrivée se situent dans B), et un élément structurant.

On définit l’érosion de I par E l’application notée telle que,

Page 16: Introduction

16

L’ÉROSION EN NIVEAU DE GRIS

Ex : Calculer

1 1 0

0 1 1

0 1 0 E

I

82 76 81 81 81 75

80 77 80 84 79 78

82 82 84 80 83 84

91 92 94 96 93 96

102 100 103 103 110 112

100 110 109 112 110 115 𝐼⊖𝐸

Page 17: Introduction

17

L’ÉROSION EN NIVEAU DE GRIS

Ex : Calculer

1 0 0

0 1 1

0 0 1 E

I

82 76 81 81 81 75

80 77 80 84 79 78

82 82 84 80 83 84

91 92 94 96 93 96

102 100 103 103 110 112

100 110 109 112 110 115 𝐼⊖𝐸

!! ___________________________________________________________________________________________________

Page 18: Introduction

18

L’ÉROSION EN NIVEAU DE GRIS

Regardons l’effet « topographique » de l’érosionI = imread('line.png');

E = strel('line',27,0);

Erod = imerode(I, E);

E

________

¿¿

On considère I comme un relief, avec ses montagnes et ses canyons.L’érosion de I par E revient à creuser les flancs de terre de I avec E : l’érosion rétrécit (en hauteur et largeur) les montagnes, et élargit les trous.

Page 19: Introduction

19

L’ÉROSION EN NIVEAU DE GRIS

I = imread('image_ex1.png');

E = strel(‘disk',14,0);

Erod = imerode(I, E);

I 𝐼⊖𝐸

E

Page 20: Introduction

Chapitre Section

La dilatation

2 2

Page 21: Introduction

21

LA DILATATION EN NIVEAU DE GRIS

Revenons sur une image binaire, et calculons la dilatation de I par E :

0 0 0 0 0 0 0 0 0

0 0 0 1 1 1 0 0 0

0 0 0 1 1 1 0 0 0

0 0 0 0 0 1 0 0 0

0 0 1 0 0 1 0 0 0

0 1 1 0 1 1 0 0 0

0 0 0 1 1 1 1 0 0

0 0 0 0 1 0 0 0 0

0 0 0 0 0 0 0 0 0

1 1 0

0 0 1

1 1 0E

I 𝐼⊕𝐸

Quelle « formule » a-t-on appliqué pour calculer la valeur de ces deux pixels ?

__________________________________________________________________________________________

Page 22: Introduction

22

LA DILATATION EN NIVEAU DE GRIS

On peut définir la dilatation binaire, tout comme la dilatation en niveau de gris, en termes de maximum:

On dira que . Ceci fait sens si l’élément structurant contient l’origine (ce qui est souvent le cas en pratique).

Soit et un élément structurant.

On définit la dilatation de I par E l’application notée telle que,

Page 23: Introduction

23

LA DILATATION EN NIVEAU DE GRIS

Ex : Calculer

0 1 0

0 1 1

0 1 1 E

I

82 76 81 81 81 75

80 77 80 84 79 78

82 82 84 80 83 84

91 92 94 96 93 96

102 100 103 103 110 112

100 110 109 112 110 115 𝐼⊕𝐸

�̆�

Page 24: Introduction

24

LA DILATATION EN NIVEAU DE GRIS

Ex : Calculer

0 0 1

0 0 1

0 0 1 E

I

82 76 81 81 81 75

80 77 80 84 79 78

82 82 84 80 83 84

91 92 94 96 93 96

102 100 103 103 110 112

100 110 109 112 110 115 𝐼⊕𝐸

____________________________________________________________________________________________________

Page 25: Introduction

25

LA DILATATION EN NIVEAU DE GRIS

Regardons l’effet « topographique » de la dilatationI = imread('line.png');

E = strel('line',27,0);

Dil = imdilate(I, E);

E

_______

¿¿

On considère I comme un relief, avec ses montagnes et ses canyons.La dilatation de I par E revient à élargir les flancs de terre de I avec E : la dilatation élargit les montagnes, et rétrécit (en hauteur et largeur) les trous.

Page 26: Introduction

26

LA DILATATION EN NIVEAU DE GRIS

I = imread('image_ex1.png');

E = strel(‘disk',14,0);

Dil = imdilate(I, E);

I 𝐼⊕𝐸

E

Page 27: Introduction

Chapitre Section

Propriétés de l’érosion et de la dilatation

2 3

Page 28: Introduction

28

EROSION ET DILATATION : PROPRIÉTÉS

On définit une relation d’ordre entre les images en niveau de gris :

Cette relation d’ordre remplacera le relation d’inclusion utilisée pour les propriétés des images binaires.

Soient deux images ,

Page 29: Introduction

29

EROSION ET DILATATION : PROPRIÉTÉS

On définira aussi le maximum et le minimum de deux images :

Page 30: Introduction

30

EROSION ET DILATATION : PROPRIÉTÉS

L’érosion en niveau de gris possède les mêmes propriétés que l’érosion binaire : décomposable, invariante par translation de l’image, croissante du point de vue de l’image, décroissante du point de vue de l’élément structurant, …

La dilatation en niveau de gris possède les mêmes propriétés que la dilatation binaire : associative, commutative, invariante par translation, croissante, décomposable, …

Attention : comme dit précédemment, la relation d’inclusion doit être remplacée par le symbole défini à la diapositive 22.

Page 31: Introduction

31

EROSION ET DILATATION : PROPRIÉTÉS

La dilatation et l’érosion en niveau de gris sont des opérateurs duaux. Si on pose , alors

________________

Page 32: Introduction

32

EROSION ET DILATATION : PROPRIÉTÉS

Nous possédons en plus, pour les images en niveau de gris, une autre propriété de décomposabilité plus forte que celle déjà obtenue pour les images binaires.

Cette propriété porte sur la décomposition d’un élément structurant en deux maximums :

Soient et ,

_____________

_____________

Rappel : Ici, I est une image en niveau de gris n-

dimensionnelle,E et F sont des éléments structurant n-

dimensionnels

Page 33: Introduction

Chapitre Section

Conclusion & applications

2 4

Page 34: Introduction

34

EROSION ET DILATATION : CONCLUSION & APPLICATIONS

L’érosion permet de creuser les flancs d’une image, ce qui provoque un rétrécissement (en altitude et en largeur) de ses montagnes, et un élargissement (rien en profondeur) des ses canyons.

La dilatation permet d’élargir (rien en altitude) les montagnes d’une image, et rétrécit (en largeur et profondeur) ses canyons.

Page 35: Introduction

35

EROSION ET DILATATION : CONCLUSION & APPLICATIONS

E est un disque euclidien de rayon 20.

_______I ________

Page 36: Introduction

36

EROSION ET DILATATION : CONCLUSION & APPLICATIONS

Tout comme nous l’avions fait en binaire, nous pouvons détecter les contours d’une image avec l’érosion et la dilatation.

I

___________ ____________ _______________

Page 37: Introduction

Chapitre

Ouverture et fermeture en niveau de gris

3

Page 38: Introduction

Chapitre Section

L’ouverture

3 1

Page 39: Introduction

39

L’OUVERTURE EN NIVEAU DE GRIS

En niveau de gris, l’ouverture se définit de la même manière qu’en binaire :

Soit et , on définit l’ouverture de I par E comme

Page 40: Introduction

40

L’OUVERTURE EN NIVEAU DE GRIS

Regardons l’effet « topographique » de l’ouvertureI = imread('line.png');

E = strel('line',27,0);

Op = imopen(I, E);

E

______

¿¿

On considère I comme un relief, avec ses montagnes et ses canyons.L’ouverture de I par E revient à _____________________________________________________

Page 41: Introduction

41

L’OUVERTURE EN NIVEAU DE GRIS

I = imread('image_ex1.png');

E = strel('disk',14,0);

Op = imopen(I, E);

I 𝐼 ∘ 𝐸

E

Remarquez l’effet de creusement ici

Page 42: Introduction

Chapitre Section

La fermeture

3 2

Page 43: Introduction

LA FERMETURE EN NIVEAU DE GRIS

43

En niveau de gris, la fermeture se définit de la même manière qu’en binaire :

Soit et , on définit la fermeture de I par E comme

Page 44: Introduction

LA FERMETURE EN NIVEAU DE GRIS

44

Regardons l’effet « topographique » de la fermetureI = imread('line.png');

E = strel('line',27,0);

Cl = imclose(I, E);

E

_______

¿¿

On considère I comme un relief, avec ses montagnes et ses canyons.La fermeture de I par E revient à _____________________________________________________

Page 45: Introduction

LA FERMETURE EN NIVEAU DE GRIS

45

I = imread('image_ex1.png');

E = strel('disk',14,0);

Cl = imclose(I, E);

I 𝐼 ⦁ 𝐸E

Remarquez l’effet de jonction ici

Page 46: Introduction

Chapitre Section

Propriétés de l’ouverture et de la fermeture

3 3

Page 47: Introduction

47

OUVERTURE ET FERMETURE : PROPRIÉTÉS

L’ouverture en niveau de gris possède les mêmes propriétés que l’ouverture binaire : anti-extensive, croissante du point de vue de l’image, décroissante du point de vue de l’élément structurant, idempotente …

La fermeture en niveau de gris possède les mêmes propriétés que la fermeture binaire : extensive, croissante du point de vue de l’image, et du point de vue de l’élément structurant, idempotente …

Attention : comme dit précédemment, la relation d’inclusion doit être remplacée par le symbole défini à la diapositive 22.

Page 48: Introduction

Chapitre Section

Conclusion & applications

3 4

Page 49: Introduction

49

OUVERTURE ET FERMETURE : CONCLUSION & APPLICATIONS

L’ouverture permet d’aplanir les sommets d’une image.

La fermeture permet de combler les ravins d’une image.

Page 50: Introduction

50

CAS PRATIQUE : SUPPRESSION DE BRUIT POIVRE ET SEL

Problème : supprimer le bruit sur l’image.I = imread('chien_bruit.png');

Gamma4 = strel('diamond', 1);

Op = imopen(I, Gamma4);

DeuxGamma8 = strel('square', 5);

Cl = imclose(Op, DeuxGamma8);

𝐼

_______

Cette technique fonctionne généralement bien pour le bruit « poivre & sel »

Page 51: Introduction

51

CAS PRATIQUE : TOP HAT

Problème : extraire les grains de riz de l’image

Le seuil à 100 permet de correctement extraire les grains du bas, et le seuil à 130 permet d’extraire les grains du haut. Le gradient d’éclairage vertical ne nous permet pas de trouver un seuil satisfaisant !

𝐼 Seuil à 100 Seuil à 130

Page 52: Introduction

52

CAS PRATIQUE : TOP HAT

Solution : utiliser une ouverture pour extraire le fond de l’image

L’opération Top-Hat, qui est un résidu d’ouverture, _______________

_____________________________________________________

_______________________________

𝐼 𝐸

𝐼 ∘ 𝐸

¿¿ Seuil à 50 de

Page 53: Introduction

Chapitre

Filtres par reconstruction

4

Page 54: Introduction

Chapitre Section

Reconstruction inférieure et

ouverture par reconstruction

4 1

Page 55: Introduction

55

RECONSTRUCTION INFÉRIEURE

Comme en binaire, on va procéder par étapes. Tout d’abord, nous définissons la dilatation conditionnelle, où l’intersection est remplacée par le minimum :

Soient , et soit , la dilatation conditionnelle de M par E restreinte à I est

E

IM

(𝑀⊕𝐸 )∧ 𝐼

Page 56: Introduction

56

RECONSTRUCTION INFÉRIEURE

On peut itérer la dilatation conditionnelle :

Ce qui nous amène à la reconstruction inférieure :

La reconstruction inférieure de M par E restreinte à I est

________________________________________

(répétition de la dilatation conditionnelle jusqu’à stabilité).

Soient , et soit , on notera

(n fois)

Page 57: Introduction

57

RECONSTRUCTION INFÉRIEURE

Exemple 1d : I

M

E

𝐼 ∆𝐸𝑀

Page 58: Introduction

58

RECONSTRUCTION INFÉRIEURE

Exemple 2d :

I

M

¿¿

Page 59: Introduction

59

RECONSTRUCTION INFÉRIEURE

Exemple 2d :

I

𝐼 ∆Γ4𝑀

La valeur de ce pixel P est 85.

Imaginons que I soit un relief montagneux où vous vous promenez.

Vous partez des points de M, et vous voulez aller vers P en descendant le moins possible d’altitude.

Dans le meilleur des cas, vous devrez nécessairement descendre à l’altitude 85 pour rejoindre P.

Page 60: Introduction

60

RECONSTRUCTION INFÉRIEURE

Que se passe-t-il si on ajoute un chemin « haut » entre M et P ?

I 𝐼 ∆Γ4𝑀

Le chemin haut permet à l’algorithme de faire un détour pour atteindre certains pixels de l’image : la reconstruction possède des zones plus claires.

Page 61: Introduction

61

RECONSTRUCTION INFÉRIEURE

Que se passe-t-il si on « creuse » le relief à certains endroits ?

I

𝐼 ∆𝐸𝑀

I’

𝐼 ′ ∆Γ 4𝑀

En creusant le relief, on force l’algorithme à devoir descendre plus bas pour accéder à certains pixels : la reconstruction possède des zones plus foncées.

Page 62: Introduction

62

L’OUVERTURE PAR RECONSTRUCTION

L’ouverture par reconstruction consiste à réaliser une ouverture, puis une reconstruction de l’image de départ à partir de son ouvert :

Généralement, F (utilisé pour la reconstruction) sera un élément structurant de voisinage ().

Soit , et soient , l’ouverture par reconstruction (sous F) de I par E est

___________________________________________________

Page 63: Introduction

63

L’OUVERTURE PAR RECONSTRUCTION

Exemple 1d :

I

𝐼 ∘ 𝐸

EF

¿ 𝐼 ∘Γ 4𝐸

En 1d, la reconstruction après l’ouverture ne sert à rien…

Page 64: Introduction

64

L’OUVERTURE PAR RECONSTRUCTION

Exemple 2d :

I

𝐼 ∘ 𝐸

𝐼 ∘Γ4𝐸

E

Page 65: Introduction

65

L’OUVERTURE PAR RECONSTRUCTION

Exemple 2d : Im = imread('pills.png');

El = strel('square', 5);

Op = imopen(Im, El);

R = imreconstruct(Op, Im);

𝐼𝑚

𝐼𝑚∘2Γ 8 𝐼𝑚∘Γ42 Γ 8

Page 66: Introduction

Chapitre Section

RECONSTRUCTION SUPÉRIEURE ET

FERMETURE PAR RECONSTRUCTION

4 2

Page 67: Introduction

67

RECONSTRUCTION SUPÉRIEURE

Nous procédons comme dans la section précédente :

Soient et soit

l’érosion conditionnelle de M par E restreinte à I est

Page 68: Introduction

68

RECONSTRUCTION SUPÉRIEURE

On peut itérer l’érosion conditionnelle :

Ce qui nous amène à la reconstruction supérieure :

La reconstruction supérieure de M par E restreinte à I est

(répétition de l’érosion conditionnelle jusqu’à stabilité).

Soient , et soit , on notera

(n fois)

Page 69: Introduction

69

RECONSTRUCTION SUPÉRIEURE

Exemple 1d : I

M

E

𝐼 𝛻𝐸𝑀

Page 70: Introduction

70

RECONSTRUCTION SUPÉRIEURE

Exemple 2d :

I

M

𝐼 𝛻Γ 4𝑀

Cette technique permet de ___________________________

Page 71: Introduction

71

RECONSTRUCTION SUPÉRIEURE

Exemple 2d :

I

𝐼 𝛻Γ 4𝑀

La valeur de ce pixel P est 217.

Imaginons que I soit un relief montagneux où vous vous promenez.

Vous partez des points de M (ici, ce sont les points à 0 de M qui nous intéressent, donc les points du bord de l’image), et vous voulez aller vers P en montant le moins possible en altitude.

Dans le meilleur des cas, vous devrez nécessairement monter au moins à l’altitude 217 pour rejoindre P.

Page 72: Introduction

72

RECONSTRUCTION INFÉRIEURE

Que se passe-t-il si on creuse un peu entre M et P ?

I 𝐼 ∆Γ4𝑀

Ca ne change pas beaucoup le résultat, car il faudra toujours monter aussi haut pour atteindre le pixel P.

Page 73: Introduction

73

RECONSTRUCTION INFÉRIEURE

Que se passe-t-il si on construit une chaîne de montagnes autour de P ?

I 𝐼 ∆Γ4𝑀

Pour aller de M à P, il faudra monter plus haut : __________________________________________________________________

Page 74: Introduction

74

RECONSTRUCTION INFÉRIEURE

Que se passe-t-il si on construit une tranchée pour aller à P ?

I 𝐼 ∆Γ4𝑀

Pour aller de M à P, on peut trouver un chemin (plus long) qui reste bas : on peut atteindre P en montant moins en altitude. La valeur de P dans l’image reconstruite est plus basse.

Page 75: Introduction

75

LA FERMETURE PAR RECONSTRUCTION

La fermeture par reconstruction consiste à réaliser une fermeture, puis une reconstruction de l’image de départ à partir de son fermé :

Généralement, F (utilisé pour la reconstruction) sera un élément structurant de voisinage ().

Soit , et soient , la fermeture par reconstruction (sous F) de I par E est

Page 76: Introduction

76

LA FERMETURE PAR RECONSTRUCTION

Exemple 2d : Im = imread('pills.png');

El = strel('square', 5);

Cl = imclose(Im, El);

R = imreconstruct(255-Cl, 255-Im);

R = 255-R;

𝐼𝑚

𝐼𝑚⦁ 2Γ 8 𝐼𝑚⦁Γ 42 Γ8

Page 77: Introduction

Chapitre Section

Propriétés des filtres par reconstruction

4 3

Page 78: Introduction

78

PROPRIÉTÉS DES FILTRES PAR RECONSTRUCTION

Dans une image en niveau de gris, une zone plate est une composante connexe de pixels ayant le même niveau de gris.

Ex : Décomposer cette image en zones plates (en considérant la 8-connexité) (chaque zone plate possède une lettre différente).

2 3 5 2 3

2 3 5 2 3

2 2 2 1 3

2 1 1 1 3

4 1 1 4 4

I Zones plates de I

Page 79: Introduction

79

PROPRIÉTÉS DES FILTRES PAR RECONSTRUCTION

A une image en niveau de gris, on associe comme partitionnement naturel sa décomposition en zones plates.

Tous les filtres par reconstruction sont des filtres ___________: ils fusionnent des zones plates.

Page 80: Introduction

80

PROPRIÉTÉS DES FILTRES PAR RECONSTRUCTION

Les filtres par reconstruction possèdent aussi une propriété de croissance vis-à-vis de l’élément structurant et de la partition : plus l’élément structurant utilisé est grand, et plus des zones plates de l’image auront été fusionnées.

Soit , soient , et soit un filtre par reconstruction dépendant d’une image et d’un élément structurant.

Si , alors _.

Page 81: Introduction

81

PROPRIÉTÉS DES FILTRES PAR RECONSTRUCTION

Ouverture par reconstruction : taille de l’élément struct. et zones plates

𝐼 𝐼 ∘Γ412 Γ8 𝐼 ∘Γ425 Γ 8 𝐼 ∘Γ450 Γ 8

53218 zones plates39223 zones plates28008 zones plates14034 zones plates

Page 82: Introduction

Chapitre

Filtres avancés

5

Page 83: Introduction

Chapitre Section

ASF en niveau de gris

5 1

Page 84: Introduction

84

ASF EN NIVEAU DE GRIS

Comme en binaire, les ASF en niveau de gris sont une séquence d’ouvertures et de fermetures.

Ces transformations sont généralement indiquées dans le cas de présence de bruit additif et soustractif.

Soit et ,

Page 85: Introduction

85

ASF EN NIVEAU DE GRIS

Exemple : retirer du bruit avec seulement un ouverture et une fermeture Im = imread('chien_bruit.png');

Im = imopen(Im, strel('diamond', 2));

Im = imclose(Im, strel('diamond', 15));

𝐼𝑚

(𝐼𝑚∘2 Γ4)•15 Γ 4

Page 86: Introduction

86

ASF EN NIVEAU DE GRIS

Exemple : retirer du bruit avec une ASFIm = imread('chien_bruit.png');

for i=1:2

El = strel('diamond', i);

Im = imopen(Im,El);

Im = imclose(Im,El);

end

El = strel('diamond', 11);

Im = imclose(Im,El);𝐼𝑚

__________________________

Page 87: Introduction

87

ASF PAR RECONSTRUCTION

Les ASF par reconstruction permettent de « simplifier » une image en diminuant le nombre de zones plates.

Comme on utilise une ASF et des reconstructions, l’action fusionne des petites montagnes (ouverture par recons.) et des petites vallées (fermeture par recons.), puis continue en s’attaquant à des structures plus grandes.

Soit et ,

Page 88: Introduction

ASF EN NIVEAU DE GRIS

Exemple : retirer du bruit avec une ASF par reconstruction Im = imread('chien_bruit.png');

for i=1:2

El = strel('diamond', i);

M = imopen(Im,El);

Im = imreconstruct(M,Im,4);

M = imclose(Im,El);

Im = imreconstruct(255-M,255-Im,4);

Im = 255-Im;

end

Im = imopen(Im, strel('diamond', 2));

Im = imclose(Im, strel('diamond', 4));

𝐼𝑚

𝐴𝑆 𝐹𝑜𝑓 , Γ4 , Γ42 ( 𝐼𝑚 )∘2Γ 4 • 4 Γ 4

Page 89: Introduction

ASF PAR RECONSTRUCTION

Les ASF par reconstruction fusionnent les zones plates d’une image de façon plus efficace qu’une simple ouverture ou fermeture par reconstruction.

𝐼 𝐴𝑆 𝐹𝑜𝑓 , Γ8 , Γ 85 (𝐼 )

53218 zones plates30838 zones plates18011 zones plates7299 zones plates

𝐴𝑆 𝐹𝑜𝑓 , Γ8 , Γ 817 (𝐼 ) 𝐴𝑆 𝐹𝑜𝑓 , Γ8 , Γ 8

40 (𝐼 )

Page 90: Introduction

Chapitre Section

H-extrema et extrema régionaux

5 2

Page 91: Introduction

91

H-EXTREMA

Le but des h-extrema est de supprimer des montagnes (ou des vallées) dont la hauteur (ou profondeur) est inférieure à h. C’est un filtre basé non pas sur la taille des éléments (largeur), mais sur leur hauteur.

Commençons par les h-maxima : comment supprimer, dans le signal 1d ci-dessous, les montagnes de hauteur inférieure à 30 ?

30

𝐼

-30

𝐼 ∆𝐸(𝐼−30)

E

Page 92: Introduction

92

H-EXTREMA

On peut définir la transformation h-maxima :

Le h-minima se définit de la même manière :

Soient , et , le h-maxima de I (sous E) est

________________________________

Soient , et , le h-minima de I (sous E) est

_________________________________________

Page 93: Introduction

93

H-EXTREMA

Exemple : retirer du bruit

𝐼𝑚 𝐻𝑀𝐴 𝑋 30, Γ 8( 𝐼𝑚 ) 𝐻𝑀𝐴 𝑋50 , Γ 8

( 𝐼𝑚 )

On peut retirer du bruit avec cette transformation : elle détruit les montagnes trop basses (le bruit) mais abaisse aussi le niveau des autres montagnes (perte de contraste).L’intérêt de cette transformation réside dans les extremas régionaux…

Page 94: Introduction

94

EXTREMA RÉGIONAUX

Un maximum (minimum) régional est une _____________________

_______________________________________________________.

Ex :

Page 95: Introduction

95

EXTREMA RÉGIONAUX

Comment obtenir les maxima régionaux ?

Un maximum régional est une zone plate qui n’est pas adjacente à une zone plate de plus haute altitude -> c’est donc le sommet d’une montagne de l’image.

Une transformation h-max, avec h=1, supprimera tous les sommets de toutes les montagnes.

Le résidu d’une telle transformation permettra de récupérer les sommets des montagnes, donc les maxima régionaux.

Page 96: Introduction

96

EXTREMA RÉGIONAUX

𝐼𝑚

𝐻𝑀𝐴 𝑋1 ,𝐸 (𝐼𝑚)

E 𝐼𝑚

𝐻𝑀𝐴 𝑋1 ,𝐸 (𝐼𝑚)

𝐼𝑚−𝐻𝑀𝐴𝑋 1 ,𝐸( 𝐼𝑚)

Page 97: Introduction

97

EXTREMA RÉGIONAUX

On peut définir la transformation de maximum et minimum régional :

Soient et ,

_____________________________ (maximum régional)

____________________________ (minimum régional)

Page 98: Introduction

98

EXTREMA RÉGIONAUX : APPLICATIONS

Les extrema régionaux des h-maxima (ou minima) permettent de récupérer des objets d’intérêt dans une image…

𝐼𝑚

Pourquoi des tâches blanches apparaissent ?

𝑅𝑀𝐴 𝑋Γ 8(𝐻𝑀𝐴𝑋 20 , Γ 8

( 𝐼𝑚 ))

𝑅𝑀𝐴 𝑋Γ 8(𝐻𝑀𝐴𝑋 30 , Γ 8

( 𝐼𝑚 ))

Page 99: Introduction

EXTREMA RÉGIONAUX : APPLICATIONS

𝐼𝑚

𝐻𝑀𝐴 𝑋 30,𝐸 (𝐼 𝑚)

E

𝑅𝑀𝐴 𝑋𝐸 (𝐻𝑀𝐴𝑋 30 ,𝐸 ( 𝐼𝑚 ))

𝐼𝑚𝐻𝑀𝐴 𝑋 90 ,𝐸 ( 𝐼𝑚)

𝑅𝑀𝐴 𝑋𝐸 (𝐻𝑀𝐴𝑋 90 ,𝐸 ( 𝐼𝑚 ))

A h=30, on identifie trois extremas régionaux intéressants…

A h=90, on identifie deux extremas régionaux trop larges

Page 100: Introduction

100

EXTREMA RÉGIONAUX : APPLICATIONS

Au fur et à mesure que h augmente, on coupe de plus en plus les montagnes de l’image. Certains maximas régionaux deviennent plus larges.

Cependant, à la limite de la disparition, ces maximas peuvent aussi se fusionner avec des zones plates de l’image (qui n’étaient pas intéressantes), donnant ces tâches blanches qui apparaissent parfois.

Conclusion : faire croître le paramètre h permet de supprimer des maximas régionaux insignifiants, mais rend certains maximas régionaux trop larges dans le résultat.

Page 101: Introduction

101

EXTREMA RÉGIONAUX : APPLICATIONS

Pour résoudre ce problème, on peut additionner les maximaux régionaux des différents h-maxima obtenus, et seuiller le résultat… Cette opération revient à faire un h-maxima particulier.

𝐼𝑚

𝑅=¿ ¿

Seuil de à 15

Page 102: Introduction

Chapitre Section

La ligne de partage des eaux

5 3

Page 103: Introduction

103

LA LIGNE DE PARTAGE DES EAUX

La ligne de partage (watershed en anglais) des eaux consiste, à partir de marqueurs M représentant des lacs, et d’un relief R, à faire monter le niveau de l’eau et de trouver les endroits W où les lacs se rejoignent.

R

M

W

Page 104: Introduction

104

LA LIGNE DE PARTAGE DES EAUX

On souhaite extraire les frontières des cellules

Les lacs de départ (traits blancs) repèrent les cellules et le fond de l’image. Le relief de propagation est le gradient de l’image (la frontière souhaitée est alors une montagne, non pas un escarpement).

Page 105: Introduction

105

LA LIGNE DE PARTAGE DES EAUX

Im = imread('cell.png');

M = imread('marker.png');

El = strel('square', 7);

Relief = imdilate(Im, El) - Im;

%On doit forcer les lacs de départ à être les seuls minimaux régionaux de Relief

%On procède à une reconstruction supérieure de Relief à partir de M

%C’est à cause de la ligne de partage des eaux, bizarrement implémentée dans Matlab

Relief = 255- Relief;

Relief = imreconstruct(M, max(Relief ,M));

Relief = 255- Relief;

S = watershed(Relief);

𝐼𝑚 𝑀

𝑅𝑒𝑙𝑖𝑒𝑓 𝑆

Page 106: Introduction

106

LA LIGNE DE PARTAGE DES EAUX

En conclusion, la ligne de partage des eaux permet de segmenter (trouver les frontières) d’objets dans une image.

La fonction de relief est souvent le gradient de l’image.

La tâche difficile consiste à trouver de bons marqueurs pour les objets (par trop, pas trop peu, pour obtenir les bonnes frontières). Il faut bien analyser le problème, et utiliser les outils de morphologie vu précédemment.