Me pregunto cómo convertir mediante programación (es decir, con un lenguaje de programación en lugar de un editor) de una temperatura de color a otra.
Si, por ejemplo, supongo (y es una gran suposición) que un algoritmo de balance de blancos podría tomar una imagen procesada (p. Ej., JPEG, etc.) y colocar la temperatura general en una escena a 6500, ¿cómo algoritmáticamente "enfriaría" ¿"o" calienta "la escena a una temperatura específica?
Obviamente, esta es una operación común en un programa de edición de imágenes, pero generalmente operan en imágenes RAW que no tienen procesamiento aplicado (manipulación del espacio de color o de otro modo). En el caso de los archivos RAW, ¿quizás los archivos RAW individuales contienen información suficiente (en el encabezado del archivo) con respecto a la calibración del color del sensor de la cámara para hacer que la transformación de temperatura específica sea más determinista?
Por cierto, hice esta pregunta en el Stack Overflow normal y se sugirió que podría obtener una mejor respuesta aquí.
fuente
-color-matrix
opción puede ayudarlo a comenzar; ver también: fmwconcepts.com/imagemagick/whitebalance/index.phpRespuestas:
Debería hacer una conversión de punto blanco en el espacio de color en el espacio L * a * b *. La mayoría de los modelos de color con los que normalmente trabajamos, principalmente RGB pero a menudo CMYK, están diseñados para admitir las limitaciones y requisitos del hardware físico. Sin embargo, esos modelos generalmente no representan muy bien el espacio de color "perceptual", y el punto blanco es definitivamente un aspecto perceptivo del color.
Siempre que necesite aplicar ajustes perceptuales a una imagen, como la temperatura del color o los cambios de tinte, es mejor convertirlo de RGB a XYZ, y durante la conversión, puede aplicar "puntos blancos de referencia" para el espacio de color de origen y destino. . La conversión de XYZ a Lab lo lleva a un espacio de color donde puede reasignar perceptualmente el punto blanco y todos los colores para que mantengan la continuidad.
Las conversiones de espacio de color, la adaptación cromática, los ajustes de punto blanco, etc. son bastante complejos matemáticamente. Cuanto más perceptivamente precisa sea su intención, más complejas serán las matemáticas. Se puede encontrar una excelente fuente de información para las conversiones de espacio de color en el sitio web de Bruce Lindbloom . Se puede encontrar información útil adicional en Wikipedia . También puede encontrar útil esta información sobre los iluminadores de la serie D de CIE , ya que contiene información específica de punto blanco, cálculos y constantes.
fuente
El balance de blancos es una manipulación de procesamiento de imágenes muy sencilla. Es solo una ganancia por canal en el espacio RGB lineal. Los archivos JPG son subóptimos para hacer el balance de blancos, ya que generalmente tienen una curva de tono y un monitor inverso. Es por eso que generalmente se hace comenzando con datos RAW. Si puede obtener valores RGB lineales a través de los datos RAW o mediante la inversión de la no linealidad descrita anteriormente, puede hacer un balance de blancos aplicando lo siguiente.
Tenga en cuenta que es convencional no aplicar una ganancia al canal verde, ya que se relaciona más o menos con la luminancia y cambiar los tres canales también cambiaría la exposición general.
Generalmente hay un campo de metadatos en los archivos RAW que contiene un conjunto de ganancias de balance de blancos calculadas por la cámara usando un algoritmo incorporado. Estos algoritmos generalmente se basan en alguna forma de algoritmo de estimación del iluminante de constancia de color.
Una vez que se aplican las ganancias, se debe aplicar una matriz primaria de codificación, la curva de reproducción del tono objetivo y el EOTF inverso.
fuente
Tenía una excelente fotografía de una mujer que tomé bajo una iluminación extraña y compleja (luces de vapor de sodio y de mercurio). Gran sonrisa, enfoque perfecto, excelente imagen, excepto por el color.
Moné con temp / tint durante una hora en adobe Camera Raw sin ningún buen resultado. Escribí un programa para hackear el archivo XMP del sidecar variando la temperatura y luego creando un enlace simbólico al NEF original llamado paralelo al archivo XMP.
Esto NO es tan sofisticado ni técnicamente correcto como la respuesta anterior, sino que arroja una gran cantidad de CPU al problema y da algunos (posiblemente) resultados interesantes.
Esto crea un montón de enlaces de archivos .NEF y un archivo sidecar real .XMP para cada uno. Simplemente copie un combo de archivo nef / xmp real para clonar en el directorio de prueba y establezca la temp min / max y dif_temp (Kelvins entre clones). Se puede insertar otro bucle para variar el valor del tinte a un Kelvin constante, pero los archivos generados se multiplicarán por el número de tintes.
Ejecute el archivo de Photoshop -> scripts -> image_processor, apúntelo a este directorio y creará un tif / jpg / whatever real para cada enlace en la temperatura de color dada.
Este código es un truco sucio y feo y ejecutarlo probablemente derretirá su procesador mientras atrae rayos de bolas y abejas asesinas a las inmediaciones. Ninguna garantía es evidente.
Requiere Perl (seguramente usado diariamente) y mklink (puede estar presente).
}
fuente