Eu estou querendo saber como converter programaticamente (ou seja, com uma linguagem de programação em vez de um editor) de uma temperatura de cor para outra?
Se, por exemplo, eu suponho (e é uma grande suposição) que um algoritmo de balanço de branco possa capturar uma imagem processada (por exemplo, JPEG, etc.) e colocar a temperatura geral em uma cena em 6500, como você algoritmicamente "esfria" "ou" aquecer "a cena a uma temperatura específica?
Obviamente, essa é uma operação comum em um programa de edição de imagens, mas normalmente elas operam em imagens RAW que não têm processamento aplicado (manipulação do espaço de cores ou outros). No caso de arquivos RAW, talvez os arquivos RAW individuais contenham informações suficientes (no cabeçalho do arquivo) sobre a calibração de cores do sensor da câmera para tornar a transformação de temperatura específica mais determinística?
A propósito, fiz essa pergunta no Stack Overflow regular e foi sugerido que eu possa obter uma resposta melhor aqui.
fonte
-color-matrix
opção pode ajudar você a começar; veja também: fmwconcepts.com/imagemagick/whitebalance/index.phpRespostas:
Você precisaria fazer uma conversão de ponto branco no espaço de cores no espaço L * a * b *. A maioria dos modelos de cores com os quais trabalhamos normalmente, principalmente RGB, mas geralmente CMYK, são projetados para suportar as limitações e os requisitos do hardware físico. Esses modelos geralmente não representam muito bem o espaço "perceptivo" da cor, e o ponto branco é definitivamente um aspecto perceptivo da cor.
Sempre que você precisar aplicar ajustes de percepção a uma imagem, como temperatura de cor ou mudança de tonalidade, é melhor fazer a conversão de RGB para XYZ e, durante a conversão, você pode aplicar "pontos brancos de referência" para o espaço de cores de origem e destino . A conversão de XYZ para Lab leva você para um espaço de cores onde você pode remapear perceptivamente o ponto branco e todas as cores, de forma que elas mantenham a continuidade.
Conversões de espaço de cores, adaptação cromática, ajustes de pontos brancos, etc. são matematicamente bastante complexos. Quanto mais perceptivamente precisa você pretende ser, mais complexa a matemática geralmente acaba. Uma excelente fonte de informações para conversões de espaço de cores pode ser encontrada no site de Bruce Lindbloom . Algumas informações úteis adicionais podem ser encontradas na Wikipedia . Você também pode encontrar essas informações nos iluminantes da série D da CIE , pois contém informações, cálculos e constantes específicos do ponto branco.
fonte
O balanço de brancos é uma manipulação muito direta do processamento de imagens. É apenas um ganho por canal no espaço linear RGB. Os arquivos JPG não são ideais para o balanço de branco, pois geralmente possuem uma curva de tons e um EOTF (Electro Optical Transform Function) aplicado, quebrando a relação linear com os valores de luminância da cena. É por isso que geralmente é feito a partir dos dados RAW. Se você conseguir valores RGB lineares através dos dados RAW ou ao inverter a não linearidade descrita acima, poderá fazer o balanço de brancos aplicando o seguinte.
Observe que é uma convenção não aplicar um ganho ao canal verde, pois ele se refere muito à luminância e a alteração dos três canais também alteraria a exposição geral.
Geralmente, há um campo de metadados nos arquivos RAW que contém um conjunto de ganhos de balanço de branco calculados pela câmera usando um algoritmo incorporado. Esses algoritmos geralmente são baseados em alguma forma de algoritmo de estimativa de iluminante de constância de cores.
Depois que os ganhos são aplicados, uma matriz primária de codificação deve ser aplicada a curva de reprodução do tom de destino e o EOTF inverso.
fonte
Eu tinha uma ótima foto de uma mulher que tirei sob uma iluminação estranha e complexa (vapor de sódio e vapor de mercúrio). Ótimo sorriso, foco perfeito, excelente imagem, exceto pelo caminho, longe da cor.
Eu usei o Temp / Matiz por uma hora no Adobe Camera Raw sem nenhum bom resultado. Eu escrevi um programa para hackear o arquivo XMP do side-car variando a temperatura e criando um link simbólico para o NEF original chamado paralelo ao arquivo XMP.
Isso NÃO é tão chique nem tecnicamente correto como a resposta acima, mas lança uma quantidade enorme de CPU no problema e fornece alguns resultados (possivelmente) interessantes.
Isso cria um monte de links de arquivos .NEF e um arquivo secundário .XMP real para cada um. Apenas copie uma combinação real de arquivo nef / xmp para clonar no diretório de teste e defina a temperatura min / max e dif_temp (Kelvins entre clones). Outro loop pode ser inserido para variar o valor da tonalidade em um Kelvin constante, mas os arquivos gerados serão multiplicados pelo número de tonalidades.
Execute o arquivo Photoshop -> scripts -> image_processor, aponte-o para este diretório e ele criará um tif / jpg / real para qualquer link para a temperatura de cor especificada.
Este código é um Hack Direto e Feio, e executá-lo provavelmente derreterá o seu processador enquanto atrai raios de bola e abelhas assassinas para a vizinhança imediata. Nenhuma garantia é desnecessária.
Requer Perl (certamente usado diariamente) e mklink (podem estar presentes).
}
fonte