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).
sub color_temp_experiment() {
$nef = '6s-2014.1004-237695.acl.nef';
$xmp = '6s-2014.1004-237695.acl.xmp'; # crs:Temperature="6000"
$min_temp = 7800;
$max_temp = 9000;
$dif_temp = 200; # Difference in temp per loop.
$xd = `cat $xmp`; # Xmp Data;
($base = $nef) =~ s/\.nef//; # Basename common to both nef and xmp.
$ii = -1;
for($temp = $min_temp; $temp <= $max_temp; $temp += $dif_temp) {
$ii++;
$link = $base . ".$temp" . 'k.nef'; # Abuse Kelvins with lower case.
$xfn = $base . ".$temp" . 'k.xmp'; # Abuse Kelvins with lower case.
if(-f $link) {
print("Found FILE (s/b sym link!) $link. Next!\n"); # This prints!
next;
}
$cmd = "mklink $link $nef";
printf("$ii) Cmd = $cmd\n");
$sto = `$cmd`;
unless(-f $link) {
print("ERROR! Sym link $link not found!\n StdOut=<<$sto>>\n\n");
exit;
}
($xt = $xd) =~ s/crs:Temperature="\d+/crs:Temperature="$temp/ms;
open(O, ">$xfn");
print(O "$xt");
close O;
}
}