---
settings:
enabled_extensions:
- default
- extra
- tables
- tasklist
- codehilite(linenums=true)
---
# TP 2 ImageJ : Filtrage, Contours, Morphologie Mathématique
__Thomas ABOT__
__Thibaut CHARLES__
katia.charriere@telecom-bretagne.eu
[TOC]
Partie I : Filtrage spatial, Contours
===============================================================================
Exercice 1 : Filtrage linéaire bidimensionnel non récursif dans le domaine spatial
-------------------------------------------------------------------------------
### Filtres
#### Smooth
![](moly_orig.PNG)![](moly_smooth.PNG)
![](freq_moly_orig.PNG)![](freq_moly_smooth.PNG)
#### Sharpen
![](moly_orig.PNG)![](moly_sharpen.PNG)
![](freq_moly_orig.PNG)![](freq_moly_sharpen.PNG)
#### Shadows
![](moly_orig.PNG)![](moly_shadow.PNG)
![](freq_moly_orig.PNG)![](freq_moly_shadow.PNG)
#### Convolution
##### Tests
![](TestConvolve_orig.PNG)![](TestConvolve_customkernel.PNG)
> La convolution est correcte
##### Flou Gaussien
![](moly_orig.PNG)![](moly_gaussien.PNG)
![](freq_moly_orig.PNG)![](freq_moly_gaussien.PNG)
##### Gradient N
![](moly_orig.PNG)![](moly_gradientN.PNG)
![](freq_moly_orig.PNG)![](freq_moly_gradientN.PNG)
##### Laplacien
![](moly_orig.PNG)![](moly_laplacien.PNG)
![](freq_moly_orig.PNG)![](freq_moly_laplacien.PNG)
### Commentaires
-
Exercice 2 : Filtres non-linéaires bidimensionnels, les filtres médians
-------------------------------------------------------------------------------
### Médian
![](cornee_orig.PNG)![](cornee_median.PNG)
### Moyenne
![](cornee_orig.PNG)![](cornee_mean.PNG)
### Bateau, Salt and Pepper
![](bateau_orig.PNG)![](bateau_saltandpepper.PNG)
#### Médian, taille 3
![](bateau_saltandpepper.PNG)![](bateau_saltandpepper_median3.PNG)
#### Moyenne, taille 3
![](bateau_saltandpepper.PNG)![](bateau_saltandpepper_mean3.PNG)
Exercice 3 : Introduction à la détection de contours
-------------------------------------------------------------------------------
Partie II : Morphologie Mathématique
===============================================================================
Traitement d'images binaires
-------------------------------------------------------------------------------
### Importance du choix de l'élément structurant (voisinage)
#### Érosion de taille 3 sur l'image partB
##### Érosion carrée
![](partb_orig.PNG)![](partb_carre.PNG)
##### Érosion héxagonale
![](partb_orig.PNG)![](partb_hexagonal.PNG)
##### Érosion Circulaire
![](partb_orig.PNG)![](partb_cercle.PNG)
#### Cercle1
![](cercle_orig.PNG)
##### Érosion carrée/hexagonale/circulaire
![](cercle_erode_carre.PNG)![](cercle_erode_hexa.PNG)![](cercle_erode_cercle.PNG)
##### Dilatation carrée/hexagonale/circulaire
![](cercle_dilate_carre.PNG)![](cercle_dilate_hexa.PNG)![](cercle_dilate_cercle.PNG)
#### Cercle2
- Idem que pour Cercle1
- Disparition du cercle quand l'érosion est trop forte
#### Rectangles
![](rectangle_orig.PNG)
##### Érosion carrée/hexagonale/circulaire
![](rectangle_erode_carre.PNG)![](rectangle_erode_hexa.PNG)![](rectangle_erode_cercle.PNG)
##### Dilatation carrée/hexagonale/circulaire
![](rectangle_dilate_carre.PNG)![](rectangle_dilate_hexa.PNG)![](rectangle_dilate_cercle.PNG)
#### Deviner le type de voisinage
On prend une forme de base, puis on le dilate beaucoup.
> Dilatation circulaire / rectangulaire
![](binary_dilate_cercle.PNG)![](binary_dilate_rectangle.PNG)
#### Choix du voisinage
Il dépend de l'image source:
- On préférera un voisinage carré pour conserver les angles de l'image
- Le voisinage circulaire est plus adapté pour les images avec des formes courbes
### Utilisation des transformations élémentaires
#### Circuit
Obtention des frontières par différence entre l'image érodée/dilatée et l'image originale
> Image originale/érodée/différence entre les deux
![](circuit_orig.PNG)![](circuit_erode.PNG)![](circuit_diff.PNG)
#### Grains de café
On érode les grains de café pour faire disparaître les plus petits, puis on dilate puis compte les grains restants.
> Image originale/érodée/dilatée/comptage
![](cafe_orig.PNG)![](cafe_erodeCercle3.PNG)![](cafe_dilateCercle2.PNG)![](cafe_count.PNG)
#### Circuit (bis)
On érode le circuit afin de faire disparaître les pistes puis dilate autant qu'on a érodé afin de retrouver la taille originale des pastilles.
Une fois qu'on a les pastilles, on fait la différence entre l'originale et les pastilles.
> Image originale/érodée/re-dilatée/différence
![](circuit_orig.PNG)![](circuit_pastilles_erodeCercle4.PNG)![](circuit_pastilles_erodeCercle4_dilateCercle4.PNG)![](circuit_pistes.PNG)
Pour isoler les pistes obliques, il faut éroder l'image suivant une ligne oblique.
### Transformations utiles
#### Remplissage des trous
On peut boucher les trous en dilatant puis érodant l'image.
> Image originale/binarisée/érodée/re-dilatée
![](circuit_2_color.PNG)![](circuit_2_binary.PNG)![](circuit_2_erode.PNG)![](circuit_2_dilate.PNG)
#### Étiquetage
> Image originale/étiquetée
![](partb_orig.PNG)![](partb_etiquetteRGB.PNG)
### Exercice
> Image originale/binarisée/érodée/re-dilatée/Comptage
![](riz_orig.PNG)![](riz_binary.PNG)![](riz_erodeHorizontal4.PNG)![](riz_dilateHorizontal4.PNG)![](riz_count.PNG)
Morphologie décimale
-------------------------------------------------------------------------------
### Cornée
> Originale / érosion / soustraction & binarisation
![](cornee_orig.PNG)![](cornee_erosion8hexa.PNG)![](cornee_substractbinary.PNG)
> Approximation des contours via érosion
![](Cornee_erodeCercle1_approxContour.PNG)
### Gradient morphologique
> Originale / Gradient de Sobel
![](babouin_orig.PNG)![](babouin_sobel.PNG)
> Originale / Dilatée / Érodée / Gradient morphologique
![](babouin_orig.PNG)![](babouin_dilate2cercle.PNG)![](babouin_erosion2cercle.PNG)![](babouin_sobel.PNG)
### Filtrage morphologique
#### Fermeture
> Originale / ... / Fermeture
![](babouin_orig.PNG)![](babouin_fermeture1.PNG)![](babouin_diffFermeture.PNG)
#### Ouverture
> Originale / ... / Ouverture
![](babouin_orig.PNG)![](babouin_ouverture1.PNG)![](babouin_diffOuverture.PNG)
Exercices d'application
-------------------------------------------------------------------------------
### Image partB
### Image meb
> Originale / Binarisation / Érosion / Dilatation / Comptage
![](meb_orig.PNG)![](meb_binary.PNG)![](meb_erodeCercle2.PNG)![](meb_dilate4.PNG)![](meb_countIs407.PNG)
### Image circuit "binarisée"