Mudança da Temperatura de Cor de uma Imagem
description
Transcript of 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çãoObjetivo: 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
Tce
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