Colorear una imagen con -colorize de ImageMagick
Podemos colorear imágenes con la combinación de dos operadores de ImageMagick tanto en convert como en mogrify. Estos dos operadores son
- -fill para determinar el color con el que se va a colorear
- -colorize que indica el porcentaje que se va a aplicar del color indicado con -fill en la imagen original
Recordemos que si queremos listar los colores de ImageMagick podemos usar:
convert -list color
De esta manera, nos resultará más cómodo trabajar con los colores.
Formato
El formato para usar -colorize es:
convert $imagen_original -fill $color -colorize $porcentaje% $nueva_imagen mogrify $imagen_original -fill $color -colorize $porcentaje%
Con convert generaremos un nuevo fichero con la nueva imagen y con mogrify los cambios se aplicarán al fichero original.
Uso
Vamos a tomar como base una imagen con grandes áreas en colores claros para que se vea mejor las modificaciones de -colorize:
Y ahora vamos a aplicarle con varios porcentajes el color OrangeRed.
convert plaza_Espana_Zaragoza.jpg -fill OrangeRed -colorize 25% plaza_Espana_Zaragoza_colorize_25.jpg
convert plaza_Espana_Zaragoza.jpg -fill OrangeRed -colorize 50% plaza_Espana_Zaragoza_colorize_50.jpg
convert plaza_Espana_Zaragoza.jpg -fill OrangeRed -colorize 75% plaza_Espana_Zaragoza_colorize_75.jpg
Por último, vamos a ver cómo si aplicamos un valor de un 100%, el color opaca toda la imagen:
convert plaza_Espana_Zaragoza.jpg -fill OrangeRed -colorize 100% plaza_Espana_Zaragoza_colorize_100.jpg
Combinar -colorize con otros operadores
En ImageMagick los operadores se pueden combinar para generar efectos más elaborados.
Por ejemplo, podemos pasar la imagen a blanco y negro, luego volver a convertirla a color y aplicarle -colorize:
convert plaza_Espana_Zaragoza.jpg -colorspace Gray -colorspace RGB -fill OrangeRed -colorize 25% plaza_Espana_Zaragoza_grey_colorize_25.jpg
Veamos cómo queda aplicándole -colorize OrangeRed después de normalizar los colores aplicando -normalize:
convert plaza_Espana_Zaragoza.jpg -normalize -fill OrangeRed -colorize 25% plaza_Espana_Zaragoza_normalize_colorize_25.jpg
O con -contrast-stretch 10%x20%:
convert plaza_Espana_Zaragoza.jpg -contrast-stretch 10%x20% -fill OrangeRed -colorize 25% plaza_Espana_Zaragoza_contrast-stretch_colorize_25.jpg