110 likes | 203 Views
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
E N D
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. 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. • Utilizamos a fórmula apresentada para encontrar o espectro de luz da nova temperatura da imagem 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
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
2.0 1.5 1.0 0.5 l (nm) 400 500 600 700 Espectro -> XYZ • Utilizamos as fórmulas ao lado para encontrar os valores X, Y e Z a partir de um espectro de luz. ∫ *
R G B X Y Z 3.240 -1.537 -0.499 -0.969 1.876 0.042 0.056 -0.204 1.057 = 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 R G B white x 0.64 0.30 0.15 0.3127 y 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 = 6500K Direita: T original = 2940K
Resultados Esquerda: T original = 5080K T destino = 3500K Direita: 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