6.5 Détection de contours
Détection de contours
Gradient Prewitt                                                   1 0 -1                     1  1  1
Détection de contours par passage d’un masque         1 0 -1                    0  0  0
                                                                                 1 0 -1                    -1 -1 -1
Entrées/Sorties
Image couleur/gris/binaire  >>  Nouvelle image binaire. Les contours sont en blancs.   
Paramètres
zz : le masque utilisé est de taille (2zz+1)x(2zz+1). 
Méthode
     La valeur de chaque pixel intérieur de l’image est remplacée par la somme des valeurs de l’image  pondérée par les valeurs du masque. Pour un masque 3x3 :
     On applique aux 9 valeurs de l’image          
     image     masque     les 9 coefficients du masque, et on fait la 
                         somme. Pixelcourant = 1+45+10-6-2-22 = 26.
 
Gradient Prewitt Interpolé  
Détection de contours par passage de 3 masques de tailles différentes.
Entrées/Sorties
Image couleur/gris/binaire  >>  Nouvelle image binaire. Les contours sont en blancs.   
Paramètres
zz : les 3 masques sont de taille (2zz+1)x(2zz+1), (3zz+1)x(3zz+1) (4zz+1)x(4zz+1).
Méthode
     Pour trois masques de tailles croissantes, on réalise un gradient Prewitt puis on interpole les trois résultats.
Gradient Sobel                                                    -1 0 1                     -1 -2 -1
Détection de contours par passage d’un masque        -2 0 2                     0  0  0
                                                                                 -1 0 1                     1  2  1
Entrées/Sorties
Image couleur/gris/binaire  >>  Nouvelle image binaire. Les contours sont en blancs.   
Paramètres
zz : le masque utilisé est de taille (2zz+1)x(2zz+1). 
Méthode
Idem à 8.
Gradient Sobel Interpolé
Détection de contours par passage de 3 masques de tailles différentes.
Entrées/Sorties
Image couleur/gris/binaire  >>  Nouvelle image binaire. Les contours sont en blancs.   
Paramètres
zz : les 3 masques sont de taille (2zz+1)x(2zz+1), (3zz+1)x(3zz+1) (4zz+1)x(4zz+1).
Méthode
     Idem à Prewitt interpolé.
Gradient Morphologique           
Détection de contours par différence d’images.
Entrées/Sorties
Image couleur/gris/binaire  >>  Nouvelle image binaire. Les contours sont en blancs.   
Méthode
Le gradient morphologique est basé sur la différence entre l’image initiale et l’image érodée, ce qui fait apparaître les contours des objets. Si cette méthode est implémentée en 2 temps (érosion puis différence) deux parcours de l’image sont nécessaires. Ici, pour ne faire qu’un seul parcours de l’image, les valeurs du pixel courant et de ses voisins sont évalués et le pixel central est directement affecté de la différence entre la plus grande valeur et la plus petite valeur trouvée. Le contour obtenu est blanc et de largeur 2 pixels.
Canny-Dériche
Détection de contours.
Entrées/Sorties
Image couleur/gris  >>  Nouvelle image binaire. Les contours sont en blancs.
Commentaires
Globalement résultats peu convaincants.
Paramètres
alpha : Plus alpha est grand, plus la sensibilité aux détails (ou bruits) est grande.
           Valeur typique : alpha = 1.
Caricature (méthode non paramétrique)
Crée une image caricaturée d’un portrait. Rigolo et surtout inutile.
Entrées/Sorties
Image couleur/gris  >>  Nouvelle image en niveaux de gris.
Paramètres
     zz : taille du masque
Méthode
     Passage d’un masque sur l’image. Pour chaque position du masque, on crée l’histogramme des niveaux de gris et on affecte au pixel central la valeur de gris la plus fréquente.