Comandos de ImageMagick para ajustar el color a blanco

ImageMagick es una herramienta potente para manipular imágenes desde la línea de comandos. Si necesitas ajustar una imagen de modo que un color específico se transforme en blanco, puedes usar una combinación de comandos para detectar ese color y calcular el ajuste necesario.

Diagrama del cálculo RGB para ajustar una imagen
La fórmula para ajustar el color a blanco con -fx y convert.

Usando -fx para transformar el color

Supongamos que tienes una imagen y sabes que un píxel específico tiene un color, por ejemplo #f0e0d0. Puedes usar -format "%[pixel:p{X,Y}]" info: para determinar ese color en las coordenadas X e Y.

Luego, aplicas el comando con -fx usando la fórmula de ajuste:
r+(1-r_ref), g+(1-g_ref), b+(1-b_ref). Si usamos los valores del ejemplo (R≈0.941, G≈0.878, B≈0.816), el comando final sería:

Comandos de ajuste de canales RGB
El método directo con -evaluate Add y cómo evitar el recorte con -clamp.
magick imagen.jpg -fx "u.r + (1 - 0.941); u.g + (1 - 0.878); u.b + (1 - 0.816)" imagen_ajustada.jpg

Usar -evaluate Add con canales

Otra forma es usar -evaluate Add directamente en los canales R, G y B.

magick imagen.jpg -channel R -evaluate Add 15 -channel G -evaluate Add 31 -channel B -evaluate Add 47 +channel imagen_ajustada.jpg

Ojo: este método puede generar recorte de valores si la suma supera 255. Para evitarlo, usa -clamp al final del comando.

Comando de muestreo regional con crop
Cómo calcular el promedio de una zona con -crop y info.

¿Y si el color varía?

Si estás tratando de igualar una zona entera, como un fondo grisáceo, se recomienda tomar una muestra promedio de esa región antes de ajustar. Por ejemplo:

magick imagen.jpg -crop 50x50+100+100 -format "%[fx:mean.r],%[fx:mean.g],%[fx:mean.b]n" info: