Download - Mudança da Temperatura de Cor de uma Imagem
Mudança da Temperatura de Cor de uma Imagem
Hildebrando Trannin
Fundamentos de Computação GráficaProf.: Marcelo Gattass
Definição
Objetivo: implementar um algoritmo para realizar a mudança da temperatura de cor de uma imagem
Entrada: imagem com temperatura atual definida e escolha de uma nova temperatura
Saída: imagem com nova temperatura
Objeto que absorve toda luz incidente (preto quando está frio)
Quando quente, emite radiância proporcional a temperatura
Importante propriedade: Um corpo negro a uma temperatura T, emite os
mesmos comprimento de onda e intensidade que estaria presente em um ambiente em T.
Corpo Negro
250 300 350 400 450 500 550 600 650 700 750 800
L KT o7500
KT o6500
KT o5500
Corpo Negro Para encontrar a radiância de um corpo negro
a uma temperatura T e em um comprimento de onda λ, usamos a lei de Planck.
Utilizamos a fórmula apresentada para encontrar o espectro de luz da nova temperatura da imagem
12
51
Tc
e
cL
Temos: c1 = 2πhc2
c2 = hc / kCom c = 2.99792458 x 108 m.s-1
h = 6.626176 x 10-34 J.s k = 1.380662 x 10-23 J.K-1
Espectro de radiância Após encontrar o espectro da nova
temperatura, devemos convertê-lo para o sistema sRGB a fim de encontrarmos os seus valores em RGB
Sistema de cores do monitor: mRGB (sRGB)
Etapas de conversão do espectro: Espectro -> XYZ XYZ -> mRGB
Espectro -> XYZ
nm
0.5
1.0
1.5
2.0
400 500 600 700
)(x)(y
)(z
*∫
780
380
780
380
780
380
)()(
)()(
)()(
dzPZ
dyPY
dxPX Utilizamos as fórmulas ao lado para encontrar os valores X, Y e Z a partir de um espectro de luz.
XYZ -> RGB Coordenadas x e y dos fósforos do monitor:
Após alguns cálculos:
Ao final dessa etapa já temos os valores em RGB do espectro da nova temperatura de cor
3.240 -1.537 -0.499-0.969 1.876 0.042 0.056 -0.204 1.057
RGB
=XYZ
R G B whitex 0.64 0.30 0.15 0.3127y 0.33 0.60 0.06 0.3290
Conversão da Temperatura Com o RGB da nova temperatura,
encontramos um fator de conversão para cada componente do RGB:
Para cada pixel da imagem, foi aplicado o fator em todas as componentes RGB
FR = R novo / R antigo
FG = G novo / G antigo
FB = B novo / B antigo
R = FR * R antigo
G = FG * G antigo
B = FB * B antigo
Resultados
Esquerda: T original = 2940K T destino = 6500KDireita: T original = 2940K
Resultados
Esquerda: T original = 5080K T destino = 3500KDireita: T original = 5450K T destino = 3500K
Referências
Color Vision and Colorimetry Theory and Applications - Daniel Malacara http://www.brucelindbloom.com http://www.graphics.cornell.edu http://www.tecgraf.puc-rio.br/~mgattass http://en.wikipedia.org/wiki/CIE_1931_color_space http://en.wikipedia.org/wiki/SRGB http://www.brucelindbloom.com/index.html?Eqn_Blackbody.html http://en.wikipedia.org/wiki/Blackbody