Discussion:Détection de contours
- Admissibilité
- Neutralité
- Droit d'auteur
- Article de qualité
- Bon article
- Lumière sur
- À faire
- Archives
- Commons
Alors que je venais juste de créer cet article, Utilisateur:Frelaur m'a fait remarquer que Détection de contour existait déjà et, malgré ma responsabilité dans cette confusion, m'a invité à inclure les éléments importants de "Détection de contour" dans "Détection de contours", à vider le premier et à effectuer une redirection vers le second. J'effectue la modification dans le présent article mais je pense qu'un autre que moi doit prendre la responsabilité la suppression de l'article original. Jct 7 août 2007 à 15:01 (CEST)
Modification terminée. Une relecture par un tiers serait souhaitable. Il faudrait sans doute aussi vérifier les liens vers des wikipedia exotiques qui ont peut-être perdu de l'information pendant le transfert. Jct 7 août 2007 à 15:43 (CEST)
Ancien article : "Détection de contour" sans 's' à contour
modifierCet article Détection de contours (avec un 's' à contours, ce qui est + correct) a été créé par Utilisateur:Jct. Je lui ai fait remarqué qu'un article "Détection de contour" existait déjà et il a du coup ajouté les informations importantes de cet article dans le nouveau. Je copie néanmoins ci-dessous la dernière version de l'ancien article :
Les algorithmes de détection de contour consistent à identifier les contours d'une image en repérant les forts changements d'intensité lumineuse de l'image. C'est une étape préliminaire à de nombreux algorithmes de traitement d'image.
Principe général
modifierL'image originale est représentée par son intensité lumineuse I(x,y). Les contours d'une image correspondent aux plus importantes variations de cette fonction intensité, les algorithmes de détection de contour consistent soit à repérer les maxima du gradient ou les zéros du laplacien de la fonction I.
Les étapes fondamentales de la détection de contour sont donc de calculer les dérivées de la fonction d'intensité pour ensuite déterminer les points de contour.
Calcul des dérivées
modifierPar différences finies
modifierCette approche repose sur le fait que l'on peut approximer les dérivées partielles de la fonction intensité en un pixel en observant les différences avec les pixels voisins. Cette idée a débouché sur la création d'opérateurs empiriques que l'on applique à des fenêtres de 2x2 ou de 3x3 pixels afin d'estimer le gradient, la plupart du temps "lissé".
Les opérateurs les plus utilisés sont :
Sobel | Prewitt | Roberts |
---|---|---|
|
|
|
Le principe est le suivant : on place le pixel considéré dans le coin supérieur gauche de l'opérateur pour les fenêtres 2x2 et au centre pour les fenêtres 3x3, on multiplie la valeur de la fonction intensité par la valeur de l'opérateur pour les pixels voisins, et on garde la valeur absolue de la somme. Cela donne une estimation de la derivé partielle dans une direction (Ox), pour obtenir la dérivé partielle dans l'autre direction (Oy), on pivote le masque de et on applique le même traitement. Ces 2 valeurs sont les composantes du vecteur gradient. La norme de ce vecteur indique la force de la transition.
On peut estimer le laplacien par la même méthode, à l'aide de ces filtres :
|
|
On note qu'il suffit d'une mesure pour le laplacien, ces filtres étant invariants par rotation.
Cette approche est la plus ancienne et bien qu'efficace sur certaines images, elle est très sensible au bruit.
Filtrage optimal
modifierL'opération décrite précédemment revient, mathématiquement, à appliquer un filtre à l'image. Ainsi, Canny[1] a cherché à définir des critères afin d'obtenir un filtre optimal pour la détection de contour. Ces critères sont les suivants :
- bonne détection : detecter un maximum de contours
- bonne localisation : que les points détectés doivent être le plus proche possible du vrai contour
- réponse unique : minimiser le nombre de contours detectés plusieurs fois
Ces critères se traduisent par des conditions sur la réponse impulsionnelle du filtre et débouchent sur des détecteurs de contours très performants.
Déterminer les contours
modifierUne fois le gradient ou le laplacien calculé, il faut identifier les points de contour, pour cela on effectue un seuillage par hystérésis. Pour cela on fixe deux seuils, un seuil haut et un seuil bas . On commence par sélectionner les points qui dépassent le seuil haut et on applique ensuite le seuil bas en ne conservant que les composantes connexes qui contiennent un point au dessus de . En d'autres termes à partir de chaque point au dessus de on "suit" un chemin constitué de points au dessus de , ce chemin est le contour recherché.
Applications
modifierLa detection de contour est très utile en traitement d'image, c'est par exemple une étape indispensable à la reconnaissance de formes. Ces algorithmes sont également utilisés en imagerie médicale, cartographie, ...
Voir aussi
modifierRéférences
modifier- [1] J. Canny, A Computational Approach to Edge Detection, IEEE Transactions on Pattern Analysis and Machine Intelligence, Vol 8, No. 6, Nov 1986
- [2] H. Maître, La détection de contour dans les images, http://www.tsi.enst.fr/~bloch/TDI/poly_contours.pdf
- [3] S. Mavromatis, O. Coulon, Analyse d'image, http://pages-perso.esil.univ-mrs.fr/~ocoulon/cours/ESIL3A_contours.pdf
- [4] F. Devernay, Detection de contour, http://devernay.free.fr/cours/vision/pdf/c3.pdf
<-- [[Catégorie:Traitement d'image]] [[Catégorie:Applications des mathématiques]] -->
Liens externes modifiés
modifierBonjour aux contributeurs,
Je viens de modifier 1 lien(s) externe(s) sur Détection de contours. Prenez le temps de vérifier ma modification. Si vous avez des questions, ou que vous voulez que le bot ignore le lien ou la page complète, lisez cette FaQ pour de plus amples informations. J'ai fait les changements suivants :
- L'archive https://web.archive.org/web/20070807132125/http://www.ph.tn.tudelft.nl/Courses/FIP/noframes/fip.html a été ajoutée à http://www.ph.tn.tudelft.nl/Courses/FIP/noframes/fip.html
SVP, lisez la FaQ pour connaître les erreurs corrigées par le bot.
Cordialement.—InternetArchiveBot (Rapportez une erreur) 22 août 2018 à 13:07 (CEST)