Plus d’informations sur la détection des contours

En savoir plus sur les algorithmes de détection des contours que vous pouvez essayer dans Effets de bord—et comment chaque méthode trouve les contours d’une photo.

Photo avec détection des contours dans PictorX, montrant des tracés

Comment les détecteurs trouvent les contours

Un contour est un endroit où la luminosité ou la couleur change rapidement—le tracé d’un visage, d’un bâtiment ou d’une feuille sur le ciel. Les détecteurs parcourent chaque pixel, le comparent à ses voisins et transforment ces changements brusques en lignes. Les méthodes ci-dessous partent toutes de cette idée, mais mesurent le changement autrement, si bien qu’une même photo peut devenir des traits d’encre fins, un croquis au crayon ou un contour de forme épais.

Détecter les contours

Détecter les contours convertit la photo en niveaux de gris, puis applique deux petits noyaux de Sobel : l’un regarde gauche–droite, l’autre haut–bas. Les combiner en √(gx² + gy²) donne à chaque pixel une intensité : le changement est-il brusque ici ? Les changements forts deviennent des contours. PictorX inverse le résultat par défaut, d’où des lignes sombres sur fond clair—le dessin au trait classique. Vous pouvez conserver la transparence pour que le tracé se pose sur ce qui se trouve derrière le calque.

Exemple Détecter les contours dans PictorX : traits sombres sur fond clair

Sobel

Sobel utilise les mêmes noyaux gauche–droite et haut–bas, mais mesure chaque canal de couleur séparément. Le tracé garde une trace des couleurs d’origine au lieu d’un croquis gris plat. Par rapport à Canny, Sobel est un dégradé plus doux : les contours ont une épaisseur et une atténuation, pas une ligne binaire d’un pixel. L’inversion est activée par défaut pour un rendu imprimable.

Exemple Sobel dans PictorX : contours en dégradé coloré à partir d’une photo

Laplace

Le laplacien regarde la dérivée seconde : non seulement « la luminosité change-t-elle ? » mais « ce changement atteint-il un pic ? » PictorX utilise un noyau 5×5 avec 24 au centre et −1 autour. Là où un contour est net, la réponse s’envole ; les zones plates restent proches de zéro. Le résultat est inversé. Laplace capte souvent plus de texture que Sobel—tissu, cheveux, feuillage—et peut donc paraître plus chargé.

Exemple Laplace dans PictorX : contours de texture fine à partir d’une photo

Canny

Canny est une chaîne, pas un seul noyau. La photo passe en niveaux de gris et est floutée pour que le bruit ne devienne pas de faux contours. Une étape Sobel trouve ensuite l’intensité et la direction du gradient. La suppression des non-maxima ne garde que la crête de chaque contour, affinant les dégradés larges en une ligne d’un pixel. Deux seuils et une hystérésis décident ce qui reste : les pixels au-dessus du seuil haut sont des contours certains ; ceux entre bas et haut ne sont gardés que s’ils touchent un contour certain. Le résultat est un trait binaire net. Augmentez le flou pour ignorer la texture ; augmentez le seuil haut pour ne garder que les contours les plus forts.

Exemple Canny dans PictorX : trait binaire fin à partir d’une photo

Contours lumineux

Contours lumineux est le Sobel couleur sans inversion : des traits colorés vifs sur fond sombre. Chaque canal RVB apporte sa propre lueur, d’où un contour néon plutôt qu’un trait imprimé.

XDoG

XDoG (Extended Difference of Gaussians) compare deux flous de la même photo : un un peu plus serré et un plus large (environ 1,6×). Les soustraire—pondérés par un montant τ—fait ressortir la bande de contraste entre ces échelles, là où un dessin poserait un trait. Un seuil transforme ensuite cette différence en encre. Les traits doux ont une atténuation lisse (crayon gris) ; les traits durs sont noirs ou blancs. XDoG ressemble plus à un croquis qu’à une carte de contours scientifique.

Exemple de croquis XDoG dans PictorX : traits au crayon à partir d’une photo

Gradient morphologique

Le gradient morphologique n’utilise pas de noyaux de dérivée. Il dilate la photo (chaque pixel devient le voisin le plus clair dans un rayon) et l’érode (le voisin le plus sombre), puis soustrait. Il reste une bande autour de chaque forme, aussi épaisse que le rayon. Cela suit la silhouette plus que la texture fine—utile quand vous voulez un contour franc plutôt que chaque ride.

Exemple de Gradient morphologique dans PictorX : contours de forme épais à partir d’une photo

Quelle méthode choisir ?

Choisissez Canny pour des contours fins et nets. Détecter les contours ou Sobel pour un look photo-en-trait classique avec un peu de gris. Laplace pour plus de texture, Contours lumineux pour du néon sur noir, XDoG pour un croquis crayon ou encre, et le Gradient morphologique pour des contours de forme plus épais. Vous pouvez tout essayer sur la page Effets de bord.

Questions fréquemment posées

Qu’est-ce qu’un contour dans une photo ?

Un contour est un changement brusque de luminosité ou de couleur—un tracé. Les détecteurs mesurent ce changement à chaque pixel et transforment les plus forts en lignes.

En quoi Canny diffère-t-il de Détecter les contours ?

Détecter les contours (et Sobel) montrent un dégradé doux de l’intensité des contours. Canny floute, affine ces dégradés en crêtes d’un pixel, puis utilise deux seuils pour ne garder que les lignes les plus nettes.

Pourquoi Détecter les contours inverse-t-il la photo ?

Par défaut, les contours deviennent des lignes sombres sur fond clair—le dessin au trait habituel. Désactivez l’inversion pour des contours clairs sur noir.

Quelle méthode ressemble le plus à un croquis au crayon ?

XDoG. Il compare deux flous et trace des traits là où le contraste se situe entre ces échelles, plus proche de l’encre ou du crayon que d’une carte de contours scientifique.

Prêt à l'essayer ?

Ouvrez PictorX dans votre navigateur – aucune installation, aucune carte de crédit requise pour démarrer.

Essayer les effets de bord