⚠️ Este es un sitio de traducción no oficial, sin relación con ImageMagick Studio LLC. Para información autorizada, consulte la página original (https://imagemagick.org/color-thresholding/).

Umbralización de color

Use la umbralización de color para especificar un rango de colores y obtener una imagen en blanco y negro. Todos los colores comprendidos entre el color inicial y el final (ambos incluidos) se vuelven blancos y el resto de los píxeles de la imagen se vuelven negros. Los dos colores se separan con un guion entre ellos. La umbralización, de forma predeterminada, se realiza en el espacio de color sRGB. Use -colorspace para realizar la umbralización en otros espacios de color (actualmente limitados a sRGB, Gray, HSV, HSL, HCL, HSB y HSW). Los colores inicial y final pueden especificarse en cualquier espacio de color (reconocido por ImageMagick), pero en general le recomendamos especificarlos en el espacio de color correspondiente a la opción -colorspace. Para el espacio de color Gray, asegúrese de usar un valor inicial menor que el valor final. Tenga en cuenta que el tono (Hue) es cíclico: 0 y 360 son lo mismo. Sin embargo, un rango de colores que abarque tono = 0 puede seguir siendo útil si el valor de tono inicial es mayor que el valor de tono final.

Se aconseja precaución al mezclar el espacio de color de los colores inicial y final con el de la imagen. Un rango amplio en un espacio de color puede corresponder solo a un rango estrecho en otro espacio de color. Por ejemplo, uno podría pensar ingenuamente que de sRGB(0,0,0) a sRGB(255,255,255) se produciría una imagen blanca que captura todos los colores, incluso al usar -colorspace HSV. Pero estos dos colores son negro y blanco, por lo que solo se asignan a un rango de escala de grises como hsv(0,0%,0%) y hsv(0,0%,100%). En una imagen en color, probablemente no encontraría demasiados píxeles grises.

Para ilustrar cómo funciona la umbralización de color, use esta imagen:

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

A continuación se muestran algunos ejemplos típicos de uso:

[Color Thresholding]

Comience eligiendo un color sRGB (en algún punto de la imagen; en este caso, el amarillo de las flores) y desplácelo hacia abajo y hacia arriba para formar dos colores sRGB. Los valores más bajos forman el color inicial y los más altos forman el color final. Comience con sRGB(183,132,20). Desplace sus valores en +-20 para identificar el color inicial (-) y el color final (+); es decir, R=183+-20, G=132+-20 y B=40+-20:

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

esto devuelve el contorno de los pétalos amarillos de las flores:

[Color Thresholding]

Ahora, elija dos colores RGB: sRGB(159,150,0) y 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)




A continuación, seleccione un color sRGB y conviértalo a HSV, y desplace sus valores hacia abajo y hacia arriba para generar los colores HSV inicial y final. Use -colorspace HSV para convertir la imagen a HSV. Para nuestro ejemplo HSV, elegimos sRGB(183,132,20) y lo convertimos a 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%)

Ahora, desplace sus valores HSV como H=41+-20, S=89+-10 y V=72+-10, para crear el color inicial (-) y el color final (+):

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

[Color Thresholding]

A continuación, elija dos colores RGB. Use -colorspace HSV para convertir la imagen a HSV y aplique los colores RGB inicial y final. Elija sRGB(158,77,33) y sRGB(213,217,2):

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

Estos son los resultados esperados:

[Color Thresholding]

A continuación, elija dos colores sRGB y conviértalos a gris. Luego convierta la imagen a gris y use los colores de umbralización 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%)

Observe que la intensidad inicial debe ser menor que la intensidad final:

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

Estos son los resultados de la operación de umbralización de color:

[Color Thresholding]