L'objectif est de conserver uniquement les maxima locaux dans une direction du gradient. Le principe est de comparer la norme du gradient en tout point M(i,j) de l'image avec celles de ses deux voisins M1 et M2 situés dans la direction du gradient à une distance unitaire de part et d'autre de M. Les modules des gradients en M1 et M2 ne sont pas connus a priori et sont interpolés à partir des gradients calculés en deux pixels de l'image dans le voisinage de M1 et M2 . L'algorithme met donc en évidence les maxima locaux dans des directions privilégiées (quatre directions dans l'exemple proposé). Il reste ensuite à sélectionner les maxima à conserver en utilisant une des techniques de seuillage présentées précédemment.
Afin d'obtenir l'image binaire exhibant les contours, il est nécessaire de seuiller l'image comportant les maxima locaux dans les quatre directions privilégiées. En effet, seuls les maxima locaux les plus significatifs, sélectionnés par seuillage, conduisent aux contours.
Sur la base de cette illustration, une animation dans l'étude de cas permet de juger de la variabilité de l'image résultante des contours en fonction de la valeur du seuil utilisé.