Inicio | Software y utilidades | ICCLU: Ayuda al control de la exposición y temperatura

ICCLU: Ayuda al control de la exposición y temperatura

Viernes, 14 de Diciembre de 2012 12:34

colorchecker muestras RGBCuando trabajamos con cartas de color, una de las inquietudes más inmediatas que nos surgen a la hora de abrir una imagen en nuestra herramienta de revelado, es la de verificar el nivel de exposición o balance de blancos con el fin de seguir con el proceso de diseño de nuestro perfil.

Aunque no es estrictamente necesario realizar ajustes importantes en la exposición o balance de blanco de nuestras imagen de prueba destinada a la creación de perfiles de color ICC ya que las propias rutinas de transformación de un perfil ICC corregirán estas desviaciones. Sin embargo cuanto menores sean estas correcciones, con más precisión podremos trabajar, por lo que si nuestra imagen de prueba posee unas desviaciones de exposición o balance de blancos, si seria conveniente una cierta revisión de estos valores. Sin embargo, hay que tener en cuenta cuales son los motivos de estas desviaciones, y trasladar las correcciones realizadas en nuestra imagen de prueba al resto de tomas realizadas bajo estos determinados ajustes, con el fin de mantener la coherencia en nuestro flujo de trabajo.

Para realizar estos ajustes, diversos autores y fabricantes han propuesto valores RGB que podemos usar como AIM Points, o puntos de referencia a la hora de gestionar los controles de nuestro revelador RAW.

Sin embargo ¿cómo podemos calcular que valores RGB deberá tener un parche particular de nuestra carta de color?

Para ello necesitaremos realizar un cálculo o transformación de valores colorimétricos a través de las tablas de transformación de un perfil de color determinado. Para ello necesitamos recurrir a herramientas como ICCLU de ArgyllCMS. Por ejemplo cuando trabajamos con Adobe Camera RAW, los valores RGB arrojado por las muestras se corresponde con el perfil sRGB.

Para conocer estos valores RGB necesitamos primero conocer los valores colorimétricos de los parches de color de nuestra carta. Cuando recurrimos a un archivo de referencia de una carta de color, o usamos un espectrofotómetro para obtener dichos valores colorimétricos siempre vamos a poder obtener dichos valores en el espacio XYZ o CIE LAB. Dichos valores CIELAB son los valores de destino que deberíamos alcanzar con el correcto diseño de nuestro perfil de color, y aunque podría ser factible convertir de CIELAB a RGB, lo mejor es usar los valores XYZ aportados por nuestro archivo de referencia o espectrofotómetro.

Los parámetros de ICCLU podrían ser los siguientes:

icclu -fb -py -s 255 -ip  sRGB_Color_Space_Profile.icc

Donde -fb indica el tipo de función de conversión, en este caso, será una conversión inversa o backwards, o sea de XYZ a RGB, si usásemos -ff la haríamos forma directa o forward, que es el proceso habitual que sucede al asignar un perfil de color ICC a una imagen.

La opción -py nos indica que vamos a introducir los valores de entrada en formato Yxy, la cual va a ser una estrategia más adecuada para nuestro propósito, e incluso nos servirá de referencia para el cotejo con los datos de los valores RGB de por ejemplo nuestras Colorchecker propuesto por Danny Pascale.
El parámetro -ip indica que vamos a usar el propósito del tipo perceptual.

y finalmente -s 255 que nos escale nuestros valores RGB al formato 0-255 que es el más común en nuestros sistemas.

Para convertir nuestros valores XYZ en el espacio Yxy vamos a usar las conocidas ecuaciones:

  x = X / X+Y+Z
  y = Y / X+Y+Z
  Y = Y

De forma que por ejemplo los valores XYZ del parche A1 de nuestra Colorchecker obtenemos los siguientes resultados:

12.12    10.67    5.31
  x =  12.12 / 28.17 = 0.43
  y =   10.67 / 28.17 = 0.37
  Y = 10.67 / 100 = 0.1

Por tanto introduciríamos la siguiente secuencia Yxy en nuestra terminal:

0.1 0.43 0.37

Con la siguiente salida:

0.100000 0.430000 0.370000 [Yxy] -> MatrixBwd -> 107.150683 80.716453 72.122037 [RGB]

Podemos practicar, por ejemplo con las coordenadas del punto blanco teórico D50 de forma que:

1 0.3457 0.3585 (Yxy) 

Va a producir un resultado evidentemente blanco:

1.000000 0.345700 0.358500 [Yxy] -> MatrixBwd -> 255.013231 254.990241 255.031472 [RGB]

Por ejemplo si usamos la herramienta SPOTREAD de ArgyllCMS, sobre una carta de grises Menon podemos introducir el parámetro -x para disponer de una salida en formato Yxy, de forma que:

spotread -x

Producirá:

Result is XYZ: 17.308179 18.214761 15.635522, Yxy: 18.214761 0.338325 0.356046

Entonces introduciríamos en ICCLU

0.18 0.338325 0.356046

Hay que prestar atención en pasar Y al formato 0-1 dividiéndolo por 100

De esta forma nuestra carta de gris Menon tendría los siguientes valores RGB

0.180000 0.338325 0.356046 [Yxy] -> MatrixBwd -> 114.269131 118.462340 120.126209 [RGB]

Como vemos se aproxima mucho a un gris neutro teórico, sin embargo evidenciamos una cierta inconsistencia entre los tres canales, teóricamente deberíamos obtener el mismo valor para los tres, sin embargo eso es un principio teórico, en la práctica la mayoría de cartas de color no poseen de este equilibrio, el cual esta causado por las pequeñas oscilaciones en su distribución espectral (SPD) la cual ya revisé en otro artículo.

Por tanto, si quisiésemos revisar nuestra exposición o balance de blancos sobre esta carta de grises, deberíamos conseguir unos valores RGB próximos a 114 118 120 y no los 127 127 127 que podríamos esperar de un gris medio teórico.

Con esta técnica podemos por ejemplo, calcular los valores RGB de nuestra Colorchecker, algo muy interesante en caso de que esta ya tenga un cierto envejecimiento y no se ajuste a los valores medio ofrecidos por terceros autores. Para evitar lo tedioso de introducir todos los valores uno a uno en ICCLU puedo recurrir al truco:

icclu -fb -py -s 255 -ip  sRGB_Color_Space_Profile.icm < entrada.txt > salida.txt

De forma que en el archivo entrada.txt introducimos nuestros valores Yxy, de forma que se generará un archivo salida.txt con la salida de la terminal por cada fila del archivo entrada.txt, de esta forma obtenemos la siguiente tabla:

X Y Z Y x y R G B
A01 12,34 10,88 5,47 0,12 0,43 0,38 126,09 89,68 74,28
A02 39,81 35,30 19,55 0,40 0,42 0,37 211,49 155,66 137,20
A03 16,91 18,28 26,18 0,17 0,28 0,30 88,04 117,36 151,73
A04 11,54 14,11 5,57 0,12 0,37 0,45 83,22 101,05 59,49
A05 24,30 23,09 33,01 0,24 0,30 0,29 133,86 131,01 179,01
A06 30,87 42,34 35,46 0,31 0,28 0,39 79,54 165,73 150,87
B01 41,43 32,04 5,00 0,41 0,53 0,41 252,44 142,30 52,13
B02 12,42 11,25 29,84 0,12 0,23 0,21 73,22 95,17 177,81
B03 30,06 19,61 10,02 0,30 0,50 0,33 241,31 101,04 117,66
B04 8,41 6,44 10,58 0,08 0,33 0,25 104,73 68,25 118,52
B05 35,83 45,31 9,25 0,36 0,40 0,50 142,48 171,85 57,13
B06 49,53 44,85 5,97 0,50 0,49 0,45 241,11 172,65 37,14
C01 7,28 6,14 22,13 0,07 0,20 0,17 42,72 71,46 161,32
C02 15,13 23,36 7,97 0,15 0,33 0,50 54,10 122,32 59,84
C03 22,70 13,48 3,92 0,23 0,57 0,34 230,97 70,95 73,96
C04 58,98 60,39 7,07 0,59 0,47 0,48 233,31 198,63 11,26
C05 30,89 20,06 23,13 0,31 0,42 0,27 233,21 103,95 181,34
C06 13,42 18,91 30,33 0,13 0,21 0,30 0,00 114,91 143,92
D01 86,85 90,34 71,55 0,87 0,35 0,36 240,39 239,84 234,64
D02 56,80 59,28 48,87 0,57 0,34 0,36 196,80 199,05 198,38
D03 35,07 36,59 30,44 0,35 0,34 0,36 158,30 160,26 160,49
D04 18,16 18,92 15,77 0,18 0,34 0,36 117,04 118,40 118,75
D05 8,69 9,06 7,61 0,09 0,34 0,36 82,13 83,42 83,98
D06 3,26 3,37 2,84 0,03 0,34 0,36 50,57 50,52 51,22

Como vemos la referencia RGB para nuestro Blanco se sitúa en 240 239 234 y por ejemplo el gris medio en 117 118 118, valores que me indican una alta uniformidad espectral de estos parches neutros.

Como vemos en la imagen que ilustra la introducción de este artículo, los valores que obtengo durante el revelado con ACR se aproximan mucho, a los valores esperados, lo cual denota una exposición y balance de blancos en cámara bastante acertado, podríamos realizar algunos ajustes en ACR para conseguir una mayor proximidad, sin embargo podemos dejar esa tarea a nuestro perfil de entrada ICC.

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