220 likes | 443 Views
MAP-6014 Concepts avancés en mathématiques et informatique appliquées. Sujets Détection des contours et arêtes Dérivée première (gradient) Dérivée seconde Laplacien Laplacien de la gaussienne Filtre de Canny Lectures: Notes de cours. prof il d’une ligne horizontale.
E N D
MAP-6014Concepts avancés en mathématiques et informatique appliquées • Sujets • Détection des contours et arêtes • Dérivée première (gradient) • Dérivée seconde • Laplacien • Laplacien de la gaussienne • Filtre de Canny • Lectures: Notes de cours
profil d’une ligne horizontale Détection des contours et arêtes (basée sur les dérivées) 00 FF 00 Image (dérivée première) (dérivée seconde) (b) (a) Figure 7.4 [rf. GONZALEZ, p. 417]
Dérivée première (gradient) Voir la forme du filtre de Prewitt Dérivée basée sur une différence finie
-1 -1 0 -2 -1 1 0 -2 0 0 2 0 |Gy | |Gx | -1 1 2 0 1 1 Dérivée première (gradient) |Gx | + |Gy | Figure 7.6 [rf. GONZALEZ, p. 421]
0 z1 z2 -1 0 z3 z4 -1 4 z5 -1 z6 0 z7 z8 -1 z9 0 Dérivée seconde (Laplacien) • Le calcul du laplacien découle de la forme suivante: • La forme digitale est donnée par: • Cette méthode est sensible au bruit
Dérivée seconde (Laplacien) • Le laplacien de la gaussienne permet de corriger les problèmes de sensibilité au bruit de la méthode du laplacien • Le laplacien de la gaussienne prend la forme:
Dérivée seconde (Laplacien) • Nous utilisons la forme:
Dérivée seconde (Laplacien de la gaussienne) Figure 7.8 [rf. GONZALEZ, p. 423]
Dérivée seconde (Laplacien de la gaussienne) Figure 7.8 [rf. GONZALEZ, p. 423]
Dérivée seconde (Laplacien) • Le résultat de la convolution f *g’’ est la dérivée seconde de l’image • Il faut alors localiser les passages par zéro de la dérivée de l’image pour permettre la localisation des contours dans l’image • Pour localiser les passages par zéros nous utilisons une petite fenêtre de 1 X 2 pour localiser les passa-ges par zéros verticaux et une de 2 X 1 pour ceux horizontaux
Dérivée seconde (Laplacien) • Par la suite nous parcourons l’image des dérivées secondes et effectuons les tests suivants: j j+1 SI ((((f*g’’)(i,j) > 0) ET ((f*g’’)(i,j+1) < 0)) OU (((f*g’’)(i,j) < 0) ET ((f*g’’)(i,j+1) > 0))) ALORS Passage par zéro (contour vertical) i j SI ((((f*g’’)(i,j) > 0) ET ((f*g’’)(i+1,j) < 0)) OU (((f*g’’)(i,j) < 0) ET ((f*g’’)(i+1,j) > 0))) ALORS Passage par zéro (contour horizontal) i i+1
Laplacien de la gaussienne (exemples) Image originale (320 X 320 pixels) Convolution de l’image avec {Laplacien de G} où w2-D = 8 (0 apparaissant en gris) Convolution de l’image avec {Laplacien de G} où w2-D = 8 (valeurs positives en blanc et négatives en noir) Convolution de l’image avec {Laplacien de G} où w2-D = 8 (montre seulement les passages par 0 en noir) Figure 2-12 [rf. MARR, p. 58]
Exemple de détection de contours /u/dmatensr/meunier/images/riviere.rast
Filtre de Canny • Étape 1: Calcul des dérivées Horizontale et Verticale d I(x,y)/dx d I(x,y)/dy
Filtre de Canny • Étape 2: Calcul de l’amplitude du gradient et l’orientation mag(I(x,y)) = ((d I(x,y)/dx)2 + (d I(x,y)/dy)2)1/2 = tg-1(d I(x,y)/dy / d I(x,y)/dx) • est l’orientation de la normale au contour: Significatif seulement quand I(x,y)est non nul (proche du contour) Amplitude du Gradient
Filtre de Canny • Étape 3: Éliminer les pixels ne correspondant pas à des maximas: • Un pixel a une réponse maximale si ces deux voisins selon l’axe de la normale ont une réponse inférieure • Étape 4: Seuillage par hystérésis • a) Si mag(I(x,y)) > Seuil 1 1 pixel de contour • b) Suivre le contour TTQ mag(I(x,y))> Seuil 2 • Produit des contours assez continus • Seuil 1 est souvent fixé à 2 * Seuil 2 • Les pixel non-max sont mis à 0
Filtre de Canny • Exemple d’utilisation du filtre de Canny (Utilisation de la fonction cvCanny() dans OpenCV)
Filtre de Canny • Exemple: edge.c dans le dossier C:\Program Files\OpenCV\samples\c de OpenCV Dim Sobel Seuil 1 Seuil 2
Filtre de Canny • Résultats
Résumé • Segmentation des images par détection de contours et d’arêtes • Dérivée première (gradient) • Dérivée seconde • Laplacien • Laplacien de la gaussienne • Filtre de Canny