# TIFO: Introduction a la morphologie mathematiques, partie 2
# Rappels
- erosion et dilatation
- z erosions de taille y = une erosion de taille $z\times y$
- z ouverture de taille y $\neq$ une ouverture de taille $z\times y$
![](https://i.imgur.com/YmqOXng.png)
## Niveau de gris
On peut voir l'erosion et la dilatation comme une etude des niveaux de gris presents dans une fenetre glissante representee par l'element structurant
![](https://i.imgur.com/in3p99j.png)
On regarde le ixel de l'origine de l'element structurant. On attribue le min ou max pour les pixels correspondants a l'element structurant de leurs niveaux de gris
![](https://i.imgur.com/CfS8Swb.png)
## Filtres alternes sequentiels
:::info
Une repetetition des compositions (fermeture et ouverture) pour debruiter progressivemenent en perdant le moins d'infos possible
:::
![](https://i.imgur.com/ozL9FlV.png)
![](https://i.imgur.com/GGpbZcg.png)
- alternes: on alterne les filtres
- sequentiel: on augmente la taille de l'element structurant au fur et a mesure
## *Top hat*
![](https://i.imgur.com/J6JQn8N.png)
![](https://i.imgur.com/UMvbHSw.png)
![](https://i.imgur.com/M7JGQWw.png)
## Exemple pas du tout scientifique
> J'ai pris Harry et je l'ai ouvert
Harry en gris - Harry en gris ouvert =
![](https://i.imgur.com/JdorL9s.png)
> Dindon is that you ??
La dinde a un niveau de gris d'ecart avec l'image originale
## Bilan
- Le nom "morphologie mathematiques" a ete choisi dans un bar
- Morpho = considerer les images commes des paysages ~~Minecraft~~
- Non-lineaire: insensible au contraste
- Erosion et dilatation sont amis pour la vie
- On peut selectionner des objets grace a leur forme/taille (geometrie)
- La morpho est tres utile pour le filtrage d'image
- LES DINDES ONT PRIS LE CONTROLE DU MONDE
# De nouveaux outils
## Retournons sur Harry et son patronus
![](https://i.imgur.com/JdorL9s.png)
On augmente la taille de l'element structurant = tout est plus visible (image incoming)
Simple dilatation
![](https://i.imgur.com/udh3KIl.png)
## Gradients morphologiques
Dinde binaire:
![](https://i.imgur.com/I3Facfv.png)
:::warning
La dilatation va *"augmenter les bords"*
:::
:::danger
Soustraire les 2 images, c'est le **gradient externe**
:::
Avec une erosion:
![](https://i.imgur.com/5FSsrB5.png)
:::warning
L'erosion va *"grignoter les bords"*
:::
:::danger
C'est le **gradient interne**
:::
En niveau de gris:
![](https://i.imgur.com/fzIi23h.png)
### Bilan du gradient
![](https://i.imgur.com/rEgW6Hn.png)
![](https://i.imgur.com/dcOzc3m.png)
:::warning
Ces gradients se ressemblent beaucoup!
:::
Il faut choisir le gradient au cas par cas.
## La squeletisation
:::info
On va chercher le **squelette** de notre objet.
:::
L'idee c'est de prendre la position des centres des boules max inclues dans l'objet etudie
- On fait grossir des boules au fur et a mesure (ray marching style)
![](https://i.imgur.com/EPXKQ5q.png)
:::warning
A partir du moment ou l'objet touche le bord, ca fait n'importe quoi
:::
## Carte des distance
:::info
Attribuer a chaque pixel de l'ojet concerne sa distance au bord
:::
![](https://i.imgur.com/8GyKCe6.png)
## Outil de segmentation: le Watershed
> Ou ligne de partage des eaux
![](https://i.imgur.com/3vzYvyy.png)
![](https://i.imgur.com/q0rzomN.png)
:::info
On *"inonde"* les vallees (minima locaux) au fur et a mesure que l'on "monte" en niveau de gris.
:::
- Quand 2 vallees se recontrent, cela cree une ligne qui est la limitation entre 2 objets.
- En fonction de l'implem, il faut des marqueurs ou non
:::warning
Toujours lire la doc de la fonction de Watershed qu'on utilise
:::
:::warning
S'il n'y a pas de marqueurs et que l'image a beaucoup de minima locaux, on a une **sur-segmentation**
:::
## Les minima/maxima locaux
:::info
**Extrema local**: point ou groupe de point dont la valeur est extreme dans un voisinage donne
:::
![](https://i.imgur.com/G7nUPmT.png)
### Les maxima locaux
On peut definir des profondeurs de maxima
![](https://i.imgur.com/JgMc9C5.png)
:::info
On peut selectionner les maxima qui se "distinguent" vraiment du reste
:::
- On calcule sa profondeur pour chaque maxima
- Niveaux de gris necessaire pour qu'il n'y a plus de maxima
- On vide l'eau qui a inonde partout sous la courbe
- On regarde quand les regions fusionnent
:::success
C'est *l'inverse* du Watershed
:::
## Reconstruction geodesique
:::info
Recuperer uniquement certains objets a l'aide de marqueurs
:::
![](https://i.imgur.com/aDBrVDY.png)
Implem: dilatations successives jusqu'a **idempotence**
## Bouchage de trous
![](https://i.imgur.com/nm3dUeA.png)
Rectangle rouge = marqueur du fond
## Elimination d'objets touchant les bords
![](https://i.imgur.com/biF5XGt.png)