Las distintas formas de componer (combinar) dos imágenes con ImageMagick

Para superponer o combinar imágenes con ImageMagick, tenemos el comando composite que, sin operadores superpone una imagen a otra, pero ImageMagick tiene multitud de posibilidades a la hora de combinar imágenes. Podemos listarlas con convert -list compose:

$ convert -list compose
Atop
Blend
Blur
Bumpmap
ChangeMask
Clear
ColorBurn
ColorDodge
Colorize
CopyBlack
CopyBlue
CopyCyan
CopyGreen
Copy
CopyMagenta
CopyOpacity
CopyRed
CopyYellow
Darken
DarkenIntensity
DivideDst
DivideSrc
Dst
Difference
Displace
Dissolve
Distort
DstAtop
DstIn
DstOut
DstOver
Exclusion
HardLight
HardMix
Hue
In
Lighten
LightenIntensity
LinearBurn
LinearDodge
LinearLight
Luminize
Mathematics
MinusDst
MinusSrc
Modulate
ModulusAdd
ModulusSubtract
Multiply
None
Out
Overlay
Over
PegtopLight
PinLight
Plus
Replace
Saturate
Screen
SoftLight
Src
SrcAtop
SrcIn
SrcOut
SrcOver
Stereo
VividLight
Xor

Para ver cómo opera cada uno de estos valores, vamos a partir de esta imagen en la que tenemos grandes áreas grises y algunos detalles con color:

Y para generar mucho contraste, vamos a crear un lienzo con franjas de color rojo, verde y azul:

convert -size 266x445 xc:red xc:green -size 267x445 xc:blue +append rgb.jpg

convert -size 266x445 xc:red xc:green -size 267x445 xc:blue +append rgb.jpg

Dadas las dos imágenes, vamos a combinarlas.

Atop

Si la imagen de fondo es completamente opaca (sin transparencia), esta operación actuará exactamente como la composición normal ‘Over‘. Solo difiere cuando el fondo contiene una transparencia que también recorta la superposición.

composite -compose Atop paseo_echegaray.jpg rgb.jpg paseo_echegaray_rgb_Atop.jpg

composite -compose Atop paseo_echegaray.jpg rgb.jpg paseo_echegaray_rgb_Atop.jpg

composite -compose Atop rgb.jpg paseo_echegaray.jpg rgb_paseo_echegaray_Atop.jpg

composite -compose Atop rgb.jpg paseo_echegaray.jpg rgb_paseo_echegaray_Atop.jpg

 

Blend

Fusiona las dos imágenes dando el mismo resultado si se le indica uno u otro orden:

composite -compose Blend paseo_echegaray.jpg rgb.jpg paseo_echegaray_rgb_Blend.jpg

composite -compose Blend paseo_echegaray.jpg rgb.jpg paseo_echegaray_rgb_Blend.jpg

 

Blur

Superpone la segunda imagen a la primera:

composite -compose Blur rgb.jpg paseo_echegaray.jpg rgb_paseo_echegaray_Blur.jpg

Bumpmap

Convierte la primera imagen en escala de grises antes de superponer a la segunda, por lo que oscurecerá la imagen en cualquier lugar donde la imagen de origen esté oscura.

composite -compose Bumpmap paseo_echegaray.jpg rgb.jpg paseo_echegaray_rgb_Bumpmap.jpg

composite -compose Bumpmap paseo_echegaray.jpg rgb.jpg paseo_echegaray_rgb_Bumpmap.jpg

ChangeMask

Este es un método inusual que solo hará que píxeles específicos en la imagen de destino sean completamente transparentes. Es decir, convertirá en transparentes los píxeles de la imagen de destino que coinciden con la imagen de origen dada.

Clear

Este es un método de composición inusual que esencialmente ignora la imagen superpuesta por completo y solo borra la imagen de fondo.

Genera una imagen negra.

ColorBurn

El resultado es que la imagen de fondo se oscurece con una imagen de enmascaramiento oscura, mientras que el blanco no produce oscurecimiento.

composite -compose ColorBurn paseo_echegaray.jpg rgb.jpg paseo_echegaray_rgb_ColorBurn.jpg

composite -compose ColorBurn rgb.jpg paseo_echegaray.jpg rgb_paseo_echegaray_ColorBurn.jpg

composite -compose ColorBurn rgb.jpg paseo_echegaray.jpg rgb_paseo_echegaray_ColorBurn.jpg

ColorDodge

Este método de composición utiliza la imagen de superposición de origen como una máscara que protege la imagen de fondo de la «exposición a la luz» durante largos períodos de tiempo. Las partes expuestas a una máscara más clara se aclaran (o se esquivan), mientras que las áreas negras no producen ningún cambio.

composite -compose ColorDodge paseo_echegaray.jpg rgb.jpg paseo_echegaray_rgb_ColorDodge.jpg

composite -compose ColorDodge paseo_echegaray.jpg rgb.jpg paseo_echegaray_rgb_ColorDodge.jpg

composite -compose ColorDodge rgb.jpg paseo_echegaray.jpg rgb_paseo_echegaray_ColorDodge.jpg

composite -compose ColorDodge rgb.jpg paseo_echegaray.jpg rgb_paseo_echegaray_ColorDodge.jpg

Colorize

Copia el color, tono y saturación en la imagen de destino.

composite -compose Colorize paseo_echegaray.jpg rgb.jpg paseo_echegaray_rgb_Colorize.jpg

composite -compose Colorize paseo_echegaray.jpg rgb.jpg paseo_echegaray_rgb_Colorize.jpg

composite -compose Colorize rgb.jpg paseo_echegaray.jpg rgb_paseo_echegaray_Colorize.jpg

composite -compose Colorize rgb.jpg paseo_echegaray.jpg rgb_paseo_echegaray_Colorize.jpg

CopyBlack

Copia el canal negro en imágenes CMYK.

CopyBlue

Copia el canal azul en imágenes RGB:

composite -compose CopyBlue paseo_echegaray.jpg rgb.jpg paseo_echegaray_rgb_CopyBlue.jpg

composite -compose CopyBlue paseo_echegaray.jpg rgb.jpg paseo_echegaray_rgb_CopyBlue.jpg

 

composite -compose CopyBlue rgb.jpg paseo_echegaray.jpg rgb_paseo_echegaray_CopyBlue.jpg

composite -compose CopyBlue rgb.jpg paseo_echegaray.jpg rgb_paseo_echegaray_CopyBlue.jpg

CopyCyan

Copia el canal cian en imágenes CMYK. En RGB el canal Cian es equivalenta al canal ‘Rojo’. Lo mismo para los canales ‘Verde’ y ‘Magenta’, y los canales ‘Azul’ y ‘Amarillo’.

composite -compose CopyCyan paseo_echegaray.jpg rgb.jpg paseo_echegaray_rgb_CopyCyan.jpg

composite -compose CopyCyan paseo_echegaray.jpg rgb.jpg paseo_echegaray_rgb_CopyCyan.jpg

 

composite -compose CopyCyan rgb.jpg paseo_echegaray.jpg rgb_paseo_echegaray_CopyCyan.jpg

composite -compose CopyCyan rgb.jpg paseo_echegaray.jpg rgb_paseo_echegaray_CopyCyan.jpg

CopyGreen

Copia el canal verde.

composite -compose CopyGreen paseo_echegaray.jpg rgb.jpg paseo_echegaray_rgb_CopyGreen.jpg

composite -compose CopyGreen paseo_echegaray.jpg rgb.jpg paseo_echegaray_rgb_CopyGreen.jpg

 

composite -compose CopyGreen rgb.jpg paseo_echegaray.jpg rgb_paseo_echegaray_CopyGreen.jpg

Copy

Este operador reemplaza completamente la imagen de fondo con la imagen superpuesta, pero no toca la imagen de fondo fuera del área superpuesta. Es decir, limita sus capacidades de copia solo al área superpuesta y nada más. Esto le permite recortar una pequeña sección de una imagen más grande, trabajar en la imagen más pequeña para aumentar la velocidad y luego ‘copiar’ los resultados nuevamente en la imagen más grande sin tocar las otras áreas de esa imagen. Esto, a su vez, le permite optimizar el procesamiento de imágenes de imágenes muy grandes.

composite -compose Copy paseo_echegaray.jpg rgb.jpg paseo_echegaray_rgb_Copy.jpg

composite -compose Copy paseo_echegaray.jpg rgb.jpg paseo_echegaray_rgb_Copy.jpg

CopyMagenta

Copia el canal magenta en CMYK o verde en RGB:

composite -compose CopyMagenta paseo_echegaray.jpg rgb.jpg paseo_echegaray_rgb_CopyMagenta.jpg

composite -compose CopyMagenta rgb.jpg paseo_echegaray.jpg rgb_paseo_echegaray_CopyMagenta.jpg

composite -compose CopyMagenta rgb.jpg paseo_echegaray.jpg rgb_paseo_echegaray_CopyMagenta.jpg

CopyOpacity

Copia el canal de transparencia de la imagen de origen en la imagen de destino.

composite -compose CopyOpacity paseo_echegaray.jpg rgb.jpg paseo_echegaray_rgb_CopyOpacity.jpg

CopyOpacity

CopyRed

Copia el canal rojo.

composite -compose CopyRed paseo_echegaray.jpg rgb.jpg paseo_echegaray_rgb_CopyRed.jpg

composite -compose CopyRed paseo_echegaray.jpg rgb.jpg paseo_echegaray_rgb_CopyRed.jpg

 

composite -compose CopyRed rgb.jpg paseo_echegaray.jpg rgb_paseo_echegaray_CopyRed.jpg

composite -compose CopyRed rgb.jpg paseo_echegaray.jpg rgb_paseo_echegaray_CopyRed.jpg

CopyYellow

Copia el canal amarillo en CMYK o azul en RGB:

composite -compose CopyYellow paseo_echegaray.jpg rgb.jpg paseo_echegaray_rgb_CopyYellow.jpg

composite -compose CopyYellow paseo_echegaray.jpg rgb.jpg paseo_echegaray_rgb_CopyYellow.jpg

composite -compose CopyYellow rgb.jpg paseo_echegaray.jpg rgb_paseo_echegaray_CopyYellow.jpg

composite -compose CopyYellow rgb.jpg paseo_echegaray.jpg rgb_paseo_echegaray_CopyYellow.jpg

Darken

Compara los valores de color de la imagen de origen y de destino y toma el valor más oscuro.

composite -compose Darken paseo_echegaray.jpg rgb.jpg paseo_echegaray_rgb_Darken.jpg

composite -compose Darken paseo_echegaray.jpg rgb.jpg paseo_echegaray_rgb_Darken.jpg

DarkenIntensity

Compara la intensidad de los píxeles en las dos imágenes, y selecciona los valores de píxeles en función de ese resultado.

Eso significa que no se agregarán nuevos colores a las imágenes, aunque la nueva imagen será una mezcla de los colores de ambas imágenes. Tampoco importa el orden de las imágenes, excepto que el tamaño y los metadatos provienen de la imagen de destino.

composite -compose DarkenIntensity paseo_echegaray.jpg rgb.jpg paseo_echegaray_rgb_DarkenIntensity.jpg

composite -compose DarkenIntensity paseo_echegaray.jpg rgb.jpg paseo_echegaray_rgb_DarkenIntensity.jpg

DivideDst

Es equivalente a ColorDodge negado, es decir, una superposición de negro puro no cambia la imagen, mientras que una superposición de blanco puro hará que todos los colores de fondo sean blancos, excepto los que eran negros puros.

composite -compose DivideDst paseo_echegaray.jpg rgb.jpg paseo_echegaray_rgb_DivideDst.jpg

composite -compose DivideDst paseo_echegaray.jpg rgb.jpg paseo_echegaray_rgb_DivideDst.jpg

composite -compose DivideDst rgb.jpg paseo_echegaray.jpg rgb_paseo_echegaray_DivideDst.jpg

composite -compose DivideDst rgb.jpg paseo_echegaray.jpg rgb_paseo_echegaray_DivideDst.jpg

 

DivideSrc

Igual que DivideDst, pero intercambiando la posición de las entradas.

composite -compose DivideSrc paseo_echegaray.jpg rgb.jpg paseo_echegaray_rgb_DivideSrc.jpg

composite -compose DivideSrc paseo_echegaray.jpg rgb.jpg paseo_echegaray_rgb_DivideSrc.jpg

composite -compose DivideSrc rgb.jpg paseo_echegaray.jpg rgb_paseo_echegaray_DivideSrc.jpg

composite -compose DivideSrc rgb.jpg paseo_echegaray.jpg rgb_paseo_echegaray_DivideSrc.jpg

Dst

Este operador no hace nada. La imagen de origen o superpuesta se ignora por completo y el destino o imagen de fondo no se modifica.

El uso real del método es como un medio para desactivar una operación de composición alfa en otros operadores de imagen.

composite -compose Dst rgb.jpg paseo_echegaray.jpg rgb_paseo_echegaray_Dst.jpg

composite -compose Dst rgb.jpg paseo_echegaray.jpg rgb_paseo_echegaray_Dst.jpg

Difference

La imagen resultante es la diferencia absoluta en los valores de color, por lo que da igual el orden, el resultado será igual.

composite -compose Difference paseo_echegaray.jpg rgb.jpg paseo_echegaray_rgb_Difference.jpg

composite -compose Difference paseo_echegaray.jpg rgb.jpg paseo_echegaray_rgb_Difference.jpg

Displace

composite -compose Displace paseo_echegaray.jpg rgb.jpg paseo_echegaray_rgb_Displace.jpg

composite -compose Displace paseo_echegaray.jpg rgb.jpg paseo_echegaray_rgb_Displace.jpg

Dissolve

Superpone la primera imagen sobre la segunda respetando, si la hay, la transparencia:

composite -compose Dissolve paseo_echegaray.jpg rgb.jpg paseo_echegaray_rgb_Dissolve.jpg

composite -compose Dissolve paseo_echegaray.jpg rgb.jpg paseo_echegaray_rgb_Dissolve.jpg

Distort

Convierte el valor de color LUT directamente en una coordenada en la imagen de origen desde la que buscar el color que se utilizará. No importa dónde esté el color en la LUT, cada color se refiere al punto de búsqueda exacto que se debe usar. Las imágenes LUT de distorsión tendrán un gradiente de colores, pero cualquier deformación o distorsión de ese gradiente logrará el mismo efecto cuando se aplique el mapa.

composite -compose Distort paseo_echegaray.jpg rgb.jpg paseo_echegaray_rgb_Distort.jpg
composite -compose Distort rgb.jpg paseo_echegaray.jpg rgb_paseo_echegaray_Distort.jpg

composite -compose Distort rgb.jpg paseo_echegaray.jpg rgb_paseo_echegaray_Distort.jpg

DstAtop

Superpone la segunda imagen sobre la primera:

composite -compose DstAtop rgb.jpg paseo_echegaray.jpg rgb_paseo_echegaray_DstAtop.jpg

composite -compose DstAtop rgb.jpg paseo_echegaray.jpg rgb_paseo_echegaray_DstAtop.jpg

DstIn

Elimina la forma de la imagen superpuesta de la imagen de fondo, siempre que tenga distinto tamaño o canal alfa:

composite -compose DstIn rgb.jpg paseo_echegaray.jpg rgb_paseo_echegaray_DstIn.jpg

composite -compose DstIn rgb.jpg paseo_echegaray.jpg rgb_paseo_echegaray_DstIn.jpg

 

DstOut

Genera la máscara opuesta al recorte de DstIn, dejando el resto en negro.

DstOver

Es equivalente a colocar la imagen de superposición de origen debajo del destino. El resultado es que sólo las partes de nuestra imagen de origen o de superposición que no están ocultas por la imagen de destino o de fondo serán visibles, ya que se asomarán por debajo. Esto no es exactamente lo mismo que Over con imágenes intercambiadas, ya que el tamaño, el posicionamiento y otros metadatos de la imagen aún provienen de la imagen de fondo o de destino.

Exclusion

Esta es una especie de diferencia promediada. Blanco sobre blanco producirá negro (sin diferencia), lo mismo con negro sobre negro. Sin embargo, gris sobre gris producirá un resultado gris. El blanco y el negro naturalmente todavía producen blanco (diferencia máxima). Otra forma de ver esto es que las regiones brillantes de la imagen provocan la inversión de la otra capa respectiva. Las regiones muy oscuras no cambian nada en absoluto.
composite -compose Exclusion paseo_echegaray.jpg rgb.jpg paseo_echegaray_rgb_Exclusion.jpg

composite -compose Exclusion paseo_echegaray.jpg rgb.jpg paseo_echegaray_rgb_Exclusion.jpg

composite -compose Exclusion rgb.jpg paseo_echegaray.jpg rgb_paseo_echegaray_Exclusion.jpg

composite -compose Exclusion rgb.jpg paseo_echegaray.jpg rgb_paseo_echegaray_Exclusion.jpg

HardLight

Agrega efectos de iluminación en escala de grises a una imagen.

composite -compose HardLight paseo_echegaray.jpg rgb.jpg paseo_echegaray_rgb_HardLight.jpg

composite -compose HardLight paseo_echegaray.jpg rgb.jpg paseo_echegaray_rgb_HardLight.jpg

 

composite -compose HardLight rgb.jpg paseo_echegaray.jpg rgb_paseo_echegaray_HardLight.jpg

composite -compose HardLight rgb.jpg paseo_echegaray.jpg rgb_paseo_echegaray_HardLight.jpg

HardMix

composite -compose HardMix paseo_echegaray.jpg rgb.jpg paseo_echegaray_rgb_HardMix.jpg

composite -compose HardMix paseo_echegaray.jpg rgb.jpg paseo_echegaray_rgb_HardMix.jpg

 

composite -compose HardMix rgb.jpg paseo_echegaray.jpg rgb_paseo_echegaray_HardMix.jpg

composite -compose HardMix rgb.jpg paseo_echegaray.jpg rgb_paseo_echegaray_HardMix.jpg

Hue

Este operador copia el tono Hue de la imagen de origen para reemplazar el tono de la imagen de destino, dejando la saturación de fondo y la luminancia sin cambios.

composite -compose Hue paseo_echegaray.jpg rgb.jpg paseo_echegaray_rgb_Hue.jpg

composite -compose Hue paseo_echegaray.jpg rgb.jpg paseo_echegaray_rgb_Hue.jpg

 

composite -compose Hue rgb.jpg paseo_echegaray.jpg rgb_paseo_echegaray_Hue.jpg

 composite -compose Hue rgb.jpg paseo_echegaray.jpg rgb_paseo_echegaray_Hue.jpg

In

Superpone la primera imagen en la segunda:

composite -compose In paseo_echegaray.jpg rgb.jpg paseo_echegaray_rgb_In.jpg

composite -compose In paseo_echegaray.jpg rgb.jpg paseo_echegaray_rgb_In.jpg

Lighten

Compara los valores de color de la imagen de origen y de destino y toma el valor más claro.

composite -compose Lighten paseo_echegaray.jpg rgb.jpg paseo_echegaray_rgb_Lighten.jpg

composite -compose Lighten paseo_echegaray.jpg rgb.jpg paseo_echegaray_rgb_Lighten.jpg

LightenIntensity

Compara la intensidad de los píxeles en las dos imágenes, y selecciona los valores de píxeles en función de ese resultado. Eso significa que no se agregarán nuevos colores a las imágenes, aunque la nueva imagen será una mezcla de los colores de ambas imágenes. Tampoco importa el orden de las imágenes, excepto que el tamaño y los metadatos provienen de la imagen de destino.

composite -compose LightenIntensity paseo_echegaray.jpg rgb.jpg paseo_echegaray_rgb_LightenIntensity.jpg

composite -compose LightenIntensity paseo_echegaray.jpg rgb.jpg paseo_echegaray_rgb_LightenIntensity.jpg

 

LinearBurn

Produce el mismo resultado que si negara todas las imágenes de entrada y salida de un método de composición ‘Linear Dodge’ o ‘Plus’. Devuelve el mismo resultado independientemente del orden de las imágenes.

composite -compose LinearBurn paseo_echegaray.jpg rgb.jpg paseo_echegaray_rgb_LinearBurn.jpg

composite -compose LinearBurn paseo_echegaray.jpg rgb.jpg paseo_echegaray_rgb_LinearBurn.jpg

LinearDodge

Suma las dos imágenes, por lo que el resultado es igual independientemente del orden:

composite -compose LinearDodge paseo_echegaray.jpg rgb.jpg paseo_echegaray_rgb_LinearDodge.jpg

composite -compose LinearDodge paseo_echegaray.jpg rgb.jpg paseo_echegaray_rgb_LinearDodge.jpg

LinearLight

Otro método de sombreado de imagen que es muy sensible a la imagen de sombreado superpuesta. Tiene zonas mucho más grandes de límites puros en blanco y negro.

composite -compose LinearLight paseo_echegaray.jpg rgb.jpg paseo_echegaray_rgb_LinearLight.jpg

composite -compose LinearLight paseo_echegaray.jpg rgb.jpg paseo_echegaray_rgb_LinearLight.jpg

 

composite -compose LinearLight rgb.jpg paseo_echegaray.jpg rgb_paseo_echegaray_LinearLight.jpg

composite -compose LinearLight rgb.jpg paseo_echegaray.jpg rgb_paseo_echegaray_LinearLight.jpg

Luminize

Copia la luminancia del origen al destino, dejando el tono de color (Hue) y la saturación sin cambios.

composite -compose Luminize paseo_echegaray.jpg rgb.jpg paseo_echegaray_rgb_Luminize.jpg

composite -compose Luminize paseo_echegaray.jpg rgb.jpg paseo_echegaray_rgb_Luminize.jpg

 

composite -compose Luminize rgb.jpg paseo_echegaray.jpg rgb_paseo_echegaray_Luminize.jpg

composite -compose Luminize rgb.jpg paseo_echegaray.jpg rgb_paseo_echegaray_Luminize.jpg

 

Mathematics

Toma 4 valores numéricos para permitir al usuario definir muchos métodos de composición matemáticos diferentes. Con dos imágenes devuelve una imagen en negro.

MinusDst

El resultado es una imagen sustraída de la otra.

composite -compose MinusDst paseo_echegaray.jpg rgb.jpg paseo_echegaray_rgb_MinusDst.jpg

composite -compose MinusDst paseo_echegaray.jpg rgb.jpg paseo_echegaray_rgb_MinusDst.jpg

 

MinusSrc

El resultado es una imagen sustraída de la otra.

composite -compose MinusSrc paseo_echegaray.jpg rgb.jpg paseo_echegaray_rgb_MinusSrc.jpg

composite -compose MinusSrc paseo_echegaray.jpg rgb.jpg paseo_echegaray_rgb_MinusSrc.jpg

Modulate

composite -compose Modulate paseo_echegaray.jpg rgb.jpg paseo_echegaray_rgb_Modulate.jpg

composite -compose Modulate paseo_echegaray.jpg rgb.jpg paseo_echegaray_rgb_Modulate.jpg

 

composite -compose Modulate rgb.jpg paseo_echegaray.jpg rgb_paseo_echegaray_Modulate.jpg

composite -compose Modulate rgb.jpg paseo_echegaray.jpg rgb_paseo_echegaray_Modulate.jpg

ModulusAdd

Es muy parecido al ‘Plus’ excepto que cuando el resultado excede el blanco, se vuelve negro.

composite -compose ModulusAdd paseo_echegaray.jpg rgb.jpg paseo_echegaray_rgb_ModulusAdd.jpg

composite -compose ModulusAdd paseo_echegaray.jpg rgb.jpg paseo_echegaray_rgb_ModulusAdd.jpg

 

 

composite -compose ModulusAdd rgb.jpg paseo_echegaray.jpg rgb_paseo_echegaray_ModulusAdd.jpg

composite -compose ModulusAdd rgb.jpg paseo_echegaray.jpg rgb_paseo_echegaray_ModulusAdd.jpg

 

ModulusSubtract

El operador ‘ModulusSubtract’ es el mismo que ‘Minus’ excepto que es una resta de módulo. Restar ‘blanco’ de ‘gris’ dará como resultado el ‘gris’ original, y no el negro, ya que los valores se ajustan.

composite -compose ModulusSubtract paseo_echegaray.jpg rgb.jpg paseo_echegaray_rgb_ModulusSubtract.jpg

composite -compose ModulusSubtract paseo_echegaray.jpg rgb.jpg paseo_echegaray_rgb_ModulusSubtract.jpg

 

composite -compose ModulusSubtract rgb.jpg paseo_echegaray.jpg rgb_paseo_echegaray_ModulusSubtract.jpg

composite -compose ModulusSubtract rgb.jpg paseo_echegaray.jpg rgb_paseo_echegaray_ModulusSubtract.jpg

 

Multiply

Es una simple multiplicación de las dos imágenes.

Esto significa que si una de las imágenes es de color blanco puro, el resultado será la otra imagen. Por otro lado, si una imagen es negra, el resultado será negro. Entre estos extremos, una imagen oscurecerá la imagen de destino en la cantidad indicada.

No importa el orden, el resultado será el mismo.

composite -compose Multiply paseo_echegaray.jpg rgb.jpg paseo_echegaray_rgb_Multiply.jpg

composite -compose Multiply paseo_echegaray.jpg rgb.jpg paseo_echegaray_rgb_Multiply.jpg

None

Superpone la segunda imagen sobre la primera sin aplicar ningún cambio.

Out

Combina las imágenes generando una nueva imagen negra.

Overlay

Este método de composición es muy inusual ya que ha sido diseñado para oscurecer y aclarar una imagen al mismo tiempo. El método que se aplica a un píxel específico se selecciona por el valor de la imagen de destino, que se puede considerar como la «máscara de iluminación». Debido a esto, el destino es generalmente una imagen en escala de grises, a la que se le agrega color.

composite -compose Overlay paseo_echegaray.jpg rgb.jpg paseo_echegaray_rgb_Overlay.jpg

composite -compose Overlay paseo_echegaray.jpg rgb.jpg paseo_echegaray_rgb_Overlay.jpg

 

composite -compose Overlay rgb.jpg paseo_echegaray.jpg rgb_paseo_echegaray_Overlay.jpg

composite -compose Overlay rgb.jpg paseo_echegaray.jpg rgb_paseo_echegaray_Overlay.jpg

 

Over

Este es el método de composición predeterminado, en el que todos piensan cuando superponen una imagen sobre otra imagen. La imagen superpuesta se coloca sobre la imagen de fondo:

composite -compose Over paseo_echegaray.jpg rgb.jpg paseo_echegaray_rgb_Over.jpg

composite -compose Over paseo_echegaray.jpg rgb.jpg paseo_echegaray_rgb_Over.jpg

 

PegtopLight

El método ‘Pegtop_Light’ produce un resultado casi idéntico al de ‘Soft_Light’ pero utiliza una única función suave sin ninguna discontinuidad, ni siquiera las dos menores utilizadas por ‘Soft_Light’. Debido a esto, en realidad es mucho más simple y rápido.

composite -compose PegtopLight paseo_echegaray.jpg rgb.jpg paseo_echegaray_rgb_PegtopLight.jpg

composite -compose PegtopLight paseo_echegaray.jpg rgb.jpg paseo_echegaray_rgb_PegtopLight.jpg

composite -compose PegtopLight rgb.jpg paseo_echegaray.jpg rgb_paseo_echegaray_PegtopLight.jpg

composite -compose PegtopLight rgb.jpg paseo_echegaray.jpg rgb_paseo_echegaray_PegtopLight.jpg

PinLight

Esta función está diseñada para preservar mejor los tonos medios de la imagen de destino, restringiendo su sombreado al sombreado superpuesto más claro y más oscuro. Supuestamente, esto simula los cambios de iluminación bruscos y agudos que resultan de una fuente de luz diminuta, en lugar de una fuente de luz más difusa y ‘más suave’.

composite -compose PinLight paseo_echegaray.jpg rgb.jpg paseo_echegaray_rgb_PinLight.jpg

composite -compose PinLight paseo_echegaray.jpg rgb.jpg paseo_echegaray_rgb_PinLight.jpg

 

composite -compose PinLight rgb.jpg paseo_echegaray.jpg rgb_paseo_echegaray_PinLight.jpg

composite -compose PinLight rgb.jpg paseo_echegaray.jpg rgb_paseo_echegaray_PinLight.jpg

Plus

Agrega los colores de la superposición al fondo, haciendo que las dos imágenes se mezclen por igual.

Sin embargo, si los colores agregados superan los límites de color, el color se recortará según los límites normales del rango de colores.

composite -compose Plus paseo_echegaray.jpg rgb.jpg paseo_echegaray_rgb_Plus.jpg

composite -compose Plus paseo_echegaray.jpg rgb.jpg paseo_echegaray_rgb_Plus.jpg

 

composite -compose Plus rgb.jpg paseo_echegaray.jpg rgb_paseo_echegaray_Plus.jpg

composite -compose Plus rgb.jpg paseo_echegaray.jpg rgb_paseo_echegaray_Plus.jpg

 

Replace

La primera imagen reemplaza a la segunda.

composite -compose Replace paseo_echegaray.jpg rgb.jpg paseo_echegaray_rgb_Replace.jpg

composite -compose Replace paseo_echegaray.jpg rgb.jpg paseo_echegaray_rgb_Replace.jpg

Saturate

Copia la saturación del origen al destino dejando el tono de color (Hue) y la luminancia sin cambios.

composite -compose Saturate paseo_echegaray.jpg rgb.jpg paseo_echegaray_rgb_Saturate.jpg

composite -compose Saturate paseo_echegaray.jpg rgb.jpg paseo_echegaray_rgb_Saturate.jpg

 

composite -compose Saturate rgb.jpg paseo_echegaray.jpg rgb_paseo_echegaray_Saturate.jpg

composite -compose Saturate rgb.jpg paseo_echegaray.jpg rgb_paseo_echegaray_Saturate.jpg

Screen

Esto es casi exactamente como ‘Multiplicar’ excepto que ambas imágenes de entrada se niegan antes de la composición, y el resultado final también se niega nuevamente para devolver la imagen a la normalidad.

Esto significa que si una de las imágenes es de color negro puro, el resultado será la otra imagen. Por otro lado, si una imagen es blanca, el resultado será blanco. Entre estos extremos, una imagen aclarará la imagen de destino en la cantidad dada.

composite -compose Screen paseo_echegaray.jpg rgb.jpg paseo_echegaray_rgb_Screen.jpg

composite -compose Screen paseo_echegaray.jpg rgb.jpg paseo_echegaray_rgb_Screen.jpg

SoftLight

Este método de composición agregará luces y sombras a una imagen en color existente. Sin embargo, los colores de la imagen de destino se modifican para producir un contraste más suave y un degradado más uniforme en los efectos de iluminación.

composite -compose SoftLight paseo_echegaray.jpg rgb.jpg paseo_echegaray_rgb_SoftLight.jpg

composite -compose SoftLight paseo_echegaray.jpg rgb.jpg paseo_echegaray_rgb_SoftLight.jpg

 

composite -compose SoftLight rgb.jpg paseo_echegaray.jpg rgb_paseo_echegaray_SoftLight.jpg

composite -compose SoftLight rgb.jpg paseo_echegaray.jpg rgb_paseo_echegaray_SoftLight.jpg

Src

Reemplaza completamente la imagen de fondo con la imagen superpuesta. Los colores y la transparencia del fondo se desechan por completo dejando una imagen en blanco del mismo tamaño que el destino original sobre el que se aplica la imagen de origen.

composite -compose Src paseo_echegaray.jpg rgb.jpg paseo_echegaray_rgb_Src.jpg

SrcAtop

Reemplaza la imagen de fondo con la imagen superpuesta.

composite -compose SrcAtop paseo_echegaray.jpg rgb.jpg paseo_echegaray_rgb_SrcAtop.jpg

composite -compose SrcAtop paseo_echegaray.jpg rgb.jpg paseo_echegaray_rgb_SrcAtop.jpg

SrcIn

Reemplaza la imagen de fondo con la imagen superpuesta.

composite -compose SrcIn paseo_echegaray.jpg rgb.jpg paseo_echegaray_rgb_SrcIn.jpg

composite -compose SrcIn paseo_echegaray.jpg rgb.jpg paseo_echegaray_rgb_SrcIn.jpg

SrcOut

Suma las salidas generando imagen en negro.

SrcOver

Superpone la primera imagen a la segunda:

composite -compose SrcOver paseo_echegaray.jpg rgb.jpg paseo_echegaray_rgb_SrcOver.jpg

composite -compose SrcOver paseo_echegaray.jpg rgb.jpg paseo_echegaray_rgb_SrcOver.jpg

Stereo

composite -compose Stereo paseo_echegaray.jpg rgb.jpg paseo_echegaray_rgb_Stereo.jpg

composite -compose Stereo paseo_echegaray.jpg rgb.jpg paseo_echegaray_rgb_Stereo.jpg

composite -compose Stereo rgb.jpg paseo_echegaray.jpg rgb_paseo_echegaray_Stereo.jpg

composite -compose Stereo rgb.jpg paseo_echegaray.jpg rgb_paseo_echegaray_Stereo.jpg

 

VividLight

El método ‘Vivid_Light’  es básicamente un refinamiento menor del método ‘Linear_Light’. Lo que hace es evitar sombrear los extremos, para que los colores primarios fuertes de las imágenes sean más vivos.

composite -compose VividLight paseo_echegaray.jpg rgb.jpg paseo_echegaray_rgb_VividLight.jpg

composite -compose VividLight paseo_echegaray.jpg rgb.jpg paseo_echegaray_rgb_VividLight.jpg

 

composite -compose VividLight rgb.jpg paseo_echegaray.jpg rgb_paseo_echegaray_VividLight.jpg

composite -compose VividLight rgb.jpg paseo_echegaray.jpg rgb_paseo_echegaray_VividLight.jpg

 

Xor

Superpone dos imágenes y luego borra el área superpuesta a transparencia. Cuando las imágenes son del mismo tamaño y no tienen transparencia, genera una imagen en negro.

 

Deja una respuesta

Tu dirección de correo electrónico no será publicada.