Inicio | Software y utilidades | littleCMS 2, más gestión de color desde nuestra terminal

littleCMS 2, más gestión de color desde nuestra terminal

Domingo, 27 de Noviembre de 2011 00:14

littleCMSLittleCMS es un paquete de librerías para el desarrollo de aplicaciones que requieran de gestión de color y tal como comenta su autor Marti Maria: “Un motor de gestión de color, que consume pocos recursos y con especial énfasis en la precisión y rendimiento”.

Salvo que seamos desarrolladores, es poco probable que esta suite nos llame la atención, sin embargo, como otras situaciones, en su interior incorpora una pequeña colección de binarios que nos pueden resultar de utilidad, o cuando menos curiosos.

LittleCMS se puede descargar desde la web del autor o directamente desde Sourceforge http://sourceforge.net/projects/lcms/files/

Para su uso debemos proceder a compilar el código fuente. Sin embargo para hacer funcionales algunas aplicaciones basadas en la gestión de archivos TIFF es necesario descargar la librería LibTiff.

Para compilar dicha librería, hacemos el habitual: ./configure; make; sudo make install.

De forma similar si, queremos trabajar con archivos jpeg es necesario instalar las librerías de Tom Lane’s: http://www.ijg.org. Es necesario realizar igualmente el proceso de compilación.

Tras instalar con éxito LibTiff podemos ejecutar la misma secuencia de compilación sobre el direcctorio de LittleCMS. Si todo ha ido bien, los binarios son instalados en el habitual /usr/local/bin, por lo que ya estarán disponibles desde la línea de comandos.

Otra posibilidad es descargar un pequeño zip cologado en la siguiente ruta: http://www.littlecms.com/1/mac/lcms-1.19.mac.bin.zip

En este paquete encontramos ya los binarios compilados: icc2ps, icclink, icctrans, jpegicc, tiffdiff, tifficc, wtpt. Así como las librerías necesarias para que estos funcionen. Para instalar estos binarios, debemos mover los archivos a los directorios correspondientes de nuestro sistema operativo:

  sudo cp -r  /Users/[usuario]/Downloads/lcms-1.19.mac.bin/bin/* /usr/local/bin/
sudo cp -r /Users/[usuario]/Downloads/lcms-1.19.mac.bin/include/* /usr/local/include/
sudo cp -r /Users/[usuario]/Downloads/lcms-1.19.mac.bin/lib/* /usr/local/lib/
sudo cp -r /Users/[usuario]/Downloads/lcms-1.19.mac.bin/share/* /usr/local/share/

Las aplicaciones más curiosas que he tenido la oportunidad de probar son:

transicc (icctrans)

Esta aplicación nos permite realizar conversiones de colores RGB entre distintos espacios de color, además de incorporar recientemente una opción para realizar softproof.

LittleCMS ColorSpace conversion calculator - v3.3
usage: icctrans [flags] [CGATS input] [CGATS output]
flags:
-v - Verbose (Print PCS as well)
-w - use 16 bits
-5 - don't use % on inks (always 0..255, even on CMYK)
-x - Hexadecimal
-q - Quantize CGATS to 8 bits
-i<profile> - Input profile (defaults to sRGB)
-o<profile> - Output profile (defaults to sRGB)
-l<profile> - Transform by device-link profile
You can use '*Lab', '*xyz' and others as built-in profiles
-t<0,1,2,3> Intent (0=Perceptual, 1=Rel.Col, 2=Saturation, 3=Abs.Col.)
-d<0..1> - Observer adaptation state (abs.col. only)
-b - Black point compensation
-f<n> - Preserve black (CMYK only) 0=off, 1=black ink only, 2=full K plane
-c<0,1,2,3> Precalculates transform (0=Off, 1=Normal, 2=Hi-res, 3=LoRes)
-n - Terse output, intended for pipe usage
-p<profile> - Soft proof profile
-m<0,1,2,3> - Soft proof intent
-g - Marks out-of-gamut colors on softproof

Varios ejemplos de uso son:

  transicc -i AdobeRGB1998.icc -o colorcheckerFinalCut.icc
transicc -i *sRGB -o *Lab
transicc -i AdobeRGB1998.icc -o *Lab

Si no definimos el atributo input o output se tomará por defecto sRGB

Esto nos pedirá los valores R-G-B:

LittleCMS ColorSpace conversion calculator - 4.0 [LittleCMS 2.02]
Enter values, 'q' to quit
R? 237
G? 173
B? 26
123.5058 71.3346 0.0000

tificc

Se usa para realizar operaciones de conversión entre espacios de color sobre imágenes Tiff.

little cms ICC profile applier for TIFF - v6.1 [LittleCMS 2.02]
usage: tifficc [flags] input.tif output.tif
flags:
-v - Verbose
-i<profile> - Input profile (defaults to sRGB)
-o<profile> - Output profile (defaults to sRGB)
-l<profile> - Transform by device-link profile
-t<n> rendering intent:
0 - Perceptual
1 - Relative colorimetric
2 - Saturation
3 - Absolute colorimetric
10 - Perceptual preserving black ink
11 - Relative colorimetric preserving black ink
12 - Saturation preserving black ink
13 - Perceptual preserving black plane
14 - Relative colorimetric preserving black plane
15 - Saturation preserving black plane
-b - Black point compensation
-d<0..1> - Observer adaptation state (abs.col. only)
-c<0,1,2,3> - Precalculates transform (0=Off, 1=Normal, 2=Hi-res, 3=LoRes)
-w<8,16,32> - Output depth. Use 32 for floating-point
-a - Handle channels > 4 as alpha
-n - Ignore embedded profile on input
-e - Embed destination profile
-s<new profile> - Save embedded profile as <new profile>
-p<profile> - Soft proof profile
-m<n> - Soft proof intent
-g - Marks out-of-gamut colors on softproof
-k<0..400> - Ink-limiting in % (CMYK only)
-h<0,1,2,3> - More help

Un ejemplo de su uso seria:

tificc -v -e  -oProPhoto_RGB.icc -t0 DSC_0038.tif DSC_0038-salida.tif

jpegicc

Se trata de una herramienta similar a Tificc, pero aplicable exclusivamente a archivos jpeg.

usage: jpegicc [flags] input.jpg output.jpg
flags:
-v - Verbose
-i<profile> - Input profile (defaults to sRGB)
-o<profile> - Output profile (defaults to sRGB)
-t<0,1,2,3> - Intent (0=Perceptual, 1=Colorimetric, 2=Saturation, 3=Absolute)
-b - Black point compensation
-f<n> - Preserve black (CMYK only) 0=off, 1=black ink only, 2=full K plane
-n - Ignore embedded profile
-e - Embed destination profile
-s<new profile> - Save embedded profile as <new profile>
-c<0,1,2,3> - Precalculates transform (0=Off, 1=Normal, 2=Hi-res, 3=LoRes) [defaults to 1]
-p<profile> - Soft proof profile
-m<0,1,2,3> - SoftProof intent
-g - Marks out-of-gamut colors on softproof
-q<0..100> - Output JPEG quality
-d<0..1> - Observer adaptation state (abs.col. only)
-h<0,1,2> - More help

wtpt

Esta pequeña utilidad permite extraer información relativa al punto blanco y cuerpo negro (temperatura de color) de un perfil de color ICC. Si no especificamos el perfil se nos pedirán las coordenadas XYZ de nuestro punto blanco, el resultado es algo similar a:

DSC_0038_1
WhitePoint : D50
XYZ=(1.0, 1.0, 0.8)
Lab=(100.000, 0.001, -0.000)
(x,y)=(0.346, 0.359)
Hue=319.82, Chroma=0.00

Existen otras herramientas como icc2ps, para convertir de icc a postScritp, o el habitual linkicc para crear unir dos perfiles para crear uno de tipo link.

x-rite Professional LED Lighting, DSLR Support and Accessories for Photo and Video BabelColor asociacion española de imagen cientifica y forense