⚠️ Ceci est un site de traduction non officiel, sans lien avec ImageMagick Studio LLC. Pour des informations officielles, consultez la page originale (https://imagemagick.org/color-thresholding/).

Seuillage par couleur

Utilisez le seuillage par couleur pour spécifier une plage de couleurs et obtenir une image en noir et blanc. Toutes les couleurs comprises entre la couleur de début et la couleur de fin (bornes incluses) deviennent blanches, et les autres pixels de l'image deviennent noirs. Les deux couleurs sont séparées par un trait d'union. Par défaut, le seuillage s'effectue dans l'espace colorimétrique sRGB. Utilisez -colorspace pour réaliser le seuillage dans un autre espace colorimétrique (actuellement limité à sRGB, Gray, HSV, HSL, HCL, HSB et HSW). Les couleurs de début et de fin peuvent être spécifiées dans n'importe quel espace colorimétrique (reconnu par ImageMagick), mais en général nous vous conseillons de les spécifier dans l'espace colorimétrique correspondant à l'option -colorspace. Pour l'espace colorimétrique Gray, veillez à utiliser une valeur de début inférieure à la valeur de fin. Notez que la teinte (Hue) est cyclique : 0 et 360 sont identiques. Toutefois, une plage de couleurs qui traverse la teinte = 0 peut tout de même être utile, si la valeur de teinte de début est supérieure à la valeur de teinte de fin.

La prudence est de mise lorsqu'on mélange l'espace colorimétrique des couleurs de début et de fin avec celui de l'image. Une large plage dans un espace colorimétrique peut ne correspondre qu'à une plage étroite dans un autre espace colorimétrique. Par exemple, on pourrait naïvement penser que sRGB(0,0,0) à sRGB(255,255,255) produirait une image blanche, capturant toutes les couleurs, même en utilisant -colorspace HSV. Mais ces deux couleurs sont le noir et le blanc et ne correspondent donc qu'à une plage de niveaux de gris, à savoir hsv(0,0%,0%) et hsv(0,0%,100%). Pour une image en couleur, vous ne trouveriez probablement pas beaucoup de pixels gris.

Pour illustrer le fonctionnement du seuillage par couleur, utilisez cette image :

convert input-image -colorspace XXX -color-threshold "start - stop" output-image

Voici quelques exemples d'utilisation typiques :

[Color Thresholding]

Commencez par choisir une couleur sRGB (quelque part sur l'image — ici le jaune des fleurs) et décalez-la vers le bas et vers le haut pour former deux couleurs sRGB. Les valeurs inférieures forment la couleur de début et les valeurs supérieures forment la couleur de fin. Partez de sRGB(183,132,20). Décalez ses valeurs de +-20 pour identifier la couleur de début (-) et la couleur de fin (+) ; à savoir R=183+-20, G=132+-20 et B=40+-20 :

magick monet.jpg -color-threshold 'sRGB(163,112,0)-sRGB(203,152,40)' monet.gif

cela renvoie le contour des pétales de fleur jaunes :

[Color Thresholding]

Maintenant, choisissez deux couleurs RGB : sRGB(159,150,0) et sRGB(205,100,45) :

magick monet.jpg -color-threshold 'sRGB(159,150,0)-sRGB(205,100,45)' monet.gif



![\[Color Thresholding\]](https://imagemagick.org/image/color-thresholding-rgb.gif)




Ensuite, sélectionnez une couleur sRGB et convertissez-la en HSV, puis décalez ses valeurs vers le bas et vers le haut pour générer les couleurs HSV de début et de fin. Utilisez -colorspace HSV pour convertir l'image en HSV. Pour notre exemple HSV, nous choisissons sRGB(183,132,20) et le convertissons en HSV :






magick xc:"srgb(183,132,20)" -colorspace HSV txt:
# ImageMagick pixel enumeration: 1,1,65535,hsv
0,0: (41.227,89.071%,71.7647%) #1D51E405B7B7 hsv(41.227,89.071%,71.7647%)

Maintenant, décalez ses valeurs HSV en H=41+-20, S=89+-10 et V=72+-10, pour créer la couleur de début (-) et la couleur de fin (+) :

magick monet.jpg -colorspace HSV -color-threshold 'hsv(21,79%,62%)-hsv(61,99%,85%)' monet.gif

[Color Thresholding]

Ensuite, choisissez deux couleurs RGB. Utilisez -colorspace HSV pour convertir l'image en HSV, et appliquez les couleurs RGB de début et de fin. Choisissez sRGB(158,77,33) et sRGB(213,217,2) :

magick monet.jpg -colorspace HSV -color-threshold "sRGB(158,77,33)-sRGB(213,217,2)" monet.gif

Voici les résultats attendus :

[Color Thresholding]

Ensuite, choisissez deux couleurs sRGB et convertissez-les en gris. Convertissez ensuite l'image en gris et utilisez les couleurs de seuillage en gris.

magick xc:"sRGB(159,150,0)" -colorspace gray txt:
# ImageMagick pixel enumeration: 1,1,65535,gray
0,0: (36259.1) #8DA38DA38DA3 gray(55.3278%)

magick xc:"sRGB(205,100,45)" -colorspace gray txt:
# ImageMagick pixel enumeration: 1,1,65535,gray
0,0: (30418.2) #76D276D276D2 gray(46.4152%)

Notez que l'intensité de début doit être inférieure à l'intensité de fin :

magick monet.jpg -colorspace gray -color-threshold 'gray(46.4152%)-gray(55.3278%)' monet.gif

Voici les résultats de l'opération de seuillage par couleur :

[Color Thresholding]