Outil de recherche de contour avec la méthode de Canny
• canny(M, sigma, low, high) : renvoie une image de contour binaire résultant de la détection du contour avec la méthode de Canny sur la matrice M, en utilisant l'écart-type sigma et les seuils d'hystérésis low et high. Dans la matrice de détection, les points de contour portent la valeur 1 et l'arrière-plan la valeur 0. Aucune valeur n'est définie pour le périmètre de l'image, car les noyaux ne chevauchent pas entièrement l'image à cet endroit.
Cette fonction utilise l'algorithme de Canny pour détecter les contours d'une image. Cet algorithme est constitué de trois phases :
1. Convolution de l'image d'entrée avec un noyau dérivé de Gauss, où sigma représente l'écart-type de Gauss. sigma joue le rôle de paramètre d'échelle pour les contours : des valeurs élevées de sigma produisent des contours plus épais, alors que des valeurs faibles de sigma produisent des contours plus fins. Des valeurs plus élevées de sigma entraînent également une suppression accrue du bruit.
2. Suppression des non-maxima dans la direction du gradient d'intensité pour chaque pixel.
3. Fixation du seuil d'hystérésis en se basant sur les valeurs de seuil minimale et maximale. Lors de la fixation du seuil d'hystérésis, les seuils d'amplitude des gradients d'intensité sont fixés en premier en se basant sur la valeur de seuil inférieure. Puis, les pixels dont les amplitudes de gradients se situent au-dessus du seuil inférieur, mais dont les segments connectés possèdent au moins un pixel avec une magnitude de gradient supérieure au seuil maximal sont conservés.
Arguments
• M est une matrice d'images.
• sigma est un nombre réel supérieur à zéro, généralement compris entre 0 et 2.