sábado, febrero 23, 2008

Convirtiendo de CMYK a RGB

Muchas veces cuando se procesan imágenes para sitios web, los diseñadores guardan los archivos en formato CMYK, que es muy común para impresiones. Cuando nos llegas las gráficas, el Internet Explorer o el Firefox no las muestran mandando un error.

Primero detectar cuáles son los archivos que están con ese formato:

identify -verbose *.jpg | grep -B 6 "Colorspace: CMYK" | awk '/^Image/ {printf $2"\n"}'

Luego, hay que convertir esos archivos a RGB usando otro comando.

convert -colorspace RGB imgCMYK.jpg jpg:imgRGB.jpg

En sistemas Linux se puede automatizar de la siguiente forma:

Copiar todos los archivos jpg en formato CMYK a un directorio temporal y ejecutar el siguiente script.


#!/bin/bash

PROG="/usr/bin/convert -colorspace RGB "

find . -iname '*.jpg' -exec $PROG {} jpg:{} \;


Se podría construir un script que haga todo, detecte los archivos, los copie a un directorio temporal, los convierta y luego los copie al directorio original.

Los comandos gráficos (identify, convert) son de la librería ImageMagick.