Modelos de Reflexão - PUC-Rio

Propaganda
Fundamentos de Computação Gráfica
Prof.: Marcelo Gattass
Mudança da Temperatura
de Cor de uma Imagem
Hildebrando Trannin
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
Corpo Negro



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. L
T  7500 K
o

T  6500 o K
T  5500 o K
250 300 350 400 450 500 550 600 650 700 750 800

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.
c15
L 
e

c2
T
1
Temos:
c1 = 2πhc2
c2 = hc / k
Com
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
Utilizamos a fórmula apresentada para encontrar o
espectro de luz da nova temperatura da imagem
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
780
Utilizamos as fórmulas ao
lado para encontrar os valores
X, Y e Z a partir de um
espectro de luz.
X 
 P (  ) x (  ) d
380
780
Y 
 P (  ) y (  ) d
380
780
Z 
 P (  ) z (  ) d
380
∫
2.0
*
z ( )
1.5
x ( )
y ( )
1.0
0.5
400
500
600
700
 (nm)
XYZ -> RGB

Coordenadas x e y dos fósforos do monitor:
x
y

white
0.3127
0.3290
Após alguns cálculos:
R
G =
B

R
G
B
0.64 0.30 0.15
0.33 0.60 0.06
3.240 -1.537 -0.499
-0.969 1.876 0.042
0.056 -0.204 1.057
X
Y
Z
Ao final dessa etapa já temos os valores em RGB do
espectro da nova temperatura de cor
Conversão da Temperatura

Com o RGB da nova temperatura, encontramos um fator
de conversão para cada componente do RGB:
FR = R novo / R antigo
FG = G novo / G antigo
FB = B novo / B antigo

Para cada pixel da imagem, foi aplicado o fator em todas
as componentes RGB
R = FR * R antigo
G = FG * G antigo
B = FB * B antigo
Resultados
Esquerda: T original = 2940K
Direita: T original = 2940K
T destino = 6500K
Resultados
Esquerda: T original = 5080K
Direita: T original = 5450K
T destino = 3500K
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
Download