Fundamentos de Computação Gráfica Prof. Marcelo Gattass Guilherme Schirmer de Souza.

18
Fundamentos de Computação Gráfica Prof. Marcelo Gattass Guilherme Schirmer de Souza

Transcript of Fundamentos de Computação Gráfica Prof. Marcelo Gattass Guilherme Schirmer de Souza.

Page 1: Fundamentos de Computação Gráfica Prof. Marcelo Gattass Guilherme Schirmer de Souza.

Fundamentos de Computação Gráfica

Prof. Marcelo Gattass

Guilherme Schirmer de Souza

Page 2: Fundamentos de Computação Gráfica Prof. Marcelo Gattass Guilherme Schirmer de Souza.

•O objetivo dessa apresentação é fazer uma breve descrição teórica do segundo trabalho da disciplina de Fundamentos de Computação Gráfica além de mostrar os resultados obtidos.•O trabalho consistia em transformar uma imagem em uma determinada temperatura de cor para outra. Além disso, também era proposto no trabalho a correção do RGB da imagem de acordo com o color checker existente na mesma.

Page 3: Fundamentos de Computação Gráfica Prof. Marcelo Gattass Guilherme Schirmer de Souza.

•Os materiais emitem radiação quando aquecidos a uma determinada temperatura. A distribuição espectral dessa radiação depende da temperatura e da natureza do corpo emissor. Um corpo negro é um emissor de energia radiante, cuja distribuição espectral dessa energia depende apenas da temperatura.•A temperatura de cor de uma luz visível é determinada pela comparação de sua cromaticidade com um corpo negro emissor de energia radiante ideal.

Page 4: Fundamentos de Computação Gráfica Prof. Marcelo Gattass Guilherme Schirmer de Souza.

•A tabela abaixo mostra a correspondência de alguns tipos de luz visível com a temperatura de emissão de radiação de alguns corpos negros.

Temperature Source

1700 K Match flame

1850 K Candle flame

2800–3300 K Incandescent light bulb

3350 K Studio "CP" light

3400 KStudio lamps, photofloods, etc.

4100 KMoonlight, xenon arc lamp

5000 K Horizon daylight

5500–6000 KTypical daylight, electronic flash

6500 K Daylight, overcast

9300 K CRT screen

Note: These temperatures are merely approximations;considerable variation may be present.

Page 5: Fundamentos de Computação Gráfica Prof. Marcelo Gattass Guilherme Schirmer de Souza.

•Para poder transformar uma temperatura de cor em outra, primeiramente é necessário obter a cromaticidade do branco da temperatura de cor inicial. Esses valores são obtidos através das seguintes equações:

ccc yxz 1

Page 6: Fundamentos de Computação Gráfica Prof. Marcelo Gattass Guilherme Schirmer de Souza.

•Após isso, esses valores devem ser convertidos para a base XYZ:

c

c

y

xX 1Y

c

c

y

zZ

•Dessa forma são obtidas as cores das temperaturas de cor de início e de destino na base XYZ.

Page 7: Fundamentos de Computação Gráfica Prof. Marcelo Gattass Guilherme Schirmer de Souza.

•O processo de conversão de todos os pontos das imagem de uma temperatura de cor para outra é o seguinte:

Ponto RGB

XYZ->RGB

RGB->XYZ

BradFord

Novo Ponto RGB

Page 8: Fundamentos de Computação Gráfica Prof. Marcelo Gattass Guilherme Schirmer de Souza.

•O processo de conversão de um ponto no RGB para XYZ se dá pelo seguinte processo:var_R = ( R / 255 )        //R = From 0 to 255

var_G = ( G / 255 )        //G = From 0 to 255var_B = ( B / 255 )        //B = From 0 to 255

if ( var_R > 0.04045 ) var_R = ( ( var_R + 0.055 ) / 1.055 ) ^ 2.4else                   var_R = var_R / 12.92if ( var_G > 0.04045 ) var_G = ( ( var_G + 0.055 ) / 1.055 ) ^ 2.4else                   var_G = var_G / 12.92if ( var_B > 0.04045 ) var_B = ( ( var_B + 0.055 ) / 1.055 ) ^ 2.4else                   var_B = var_B / 12.92

var_R = var_R * 100var_G = var_G * 100var_B = var_B * 100

//Observer. = 2°, Illuminant = D65X = var_R * 0.4124 + var_G * 0.3576 + var_B * 0.1805Y = var_R * 0.2126 + var_G * 0.7152 + var_B * 0.0722Z = var_R * 0.0193 + var_G * 0.1192 + var_B * 0.9505

Page 9: Fundamentos de Computação Gráfica Prof. Marcelo Gattass Guilherme Schirmer de Souza.

•O método de Bradford é um método de adaptação cromática que consiste em uma transformação linear de uma cor de origem na base XYZ para uma cor de destino na mesma base. Essa transformação leva em conta o branco padrão de cada temperatura (origem e destino) para fazer essa conversão. Assim, temos:

Page 10: Fundamentos de Computação Gráfica Prof. Marcelo Gattass Guilherme Schirmer de Souza.

onde (Xs, Ys, Zs) é a cor de origem e (Xd,Yd,Zd) é a cor de destino, (Xws, Yws, Zws) é a cor da temperatura de cor da origem e (Xwd, Ywd, Zwd) é a cor da temperatura de cor de destino. [Ma] e [Ma]-1 são as matrizes constantes de Bradford para a conversão:

0296.10367.01614.0

0685.07135.12664.0

0389.07502.08951.0

][ AM

968487.0049291.0159963.0

040043.0518360.0147054.0

008529.0432305.0986993.0

][ 1AM

Page 11: Fundamentos de Computação Gráfica Prof. Marcelo Gattass Guilherme Schirmer de Souza.

•O processo de conversão de um ponto XYZ para o RGB se dá da seguinte forma:

ref_X =  95.047        //Observer = 2°, Illuminant = D65ref_Y = 100.000ref_Z = 108.883

var_X = X / 100        //X = From 0 to ref_Xvar_Y = Y / 100        //Y = From 0 to ref_Yvar_Z = Z / 100        //Z = From 0 to ref_Y

var_R = var_X *  3.2406 + var_Y * -1.5372 + var_Z * -0.4986var_G = var_X * -0.9689 + var_Y *  1.8758 + var_Z *  0.0415var_B = var_X *  0.0557 + var_Y * -0.2040 + var_Z *  1.0570

if ( var_R > 0.0031308 ) var_R = 1.055 * ( var_R ^ ( 1 / 2.4 ) ) - 0.055else                     var_R = 12.92 * var_Rif ( var_G > 0.0031308 ) var_G = 1.055 * ( var_G ^ ( 1 / 2.4 ) ) - 0.055else                     var_G = 12.92 * var_Gif ( var_B > 0.0031308 ) var_B = 1.055 * ( var_B ^ ( 1 / 2.4 ) ) - 0.055else                     var_B = 12.92 * var_B

R = var_R * 255G = var_G * 255B = var_B * 255

Page 12: Fundamentos de Computação Gráfica Prof. Marcelo Gattass Guilherme Schirmer de Souza.

•Ajuste de Cor (ou balanço de cor) é o ajuste das relativas quantidades de vermelho, verde e azul em uma imagem, de forma que as cores neutras sejam reproduzidas corretamente. Para ajustar as cores de uma determinada imagem basta utilizar o seguinte método:

Page 13: Fundamentos de Computação Gráfica Prof. Marcelo Gattass Guilherme Schirmer de Souza.

onde RGB é cor balanceada e R’G’B’ é a cor a ser ajustada. A cor (R’w, G’w, B’w) é cor da imagem escolhida como branco, e serve como base para o balanceamento das outras. Esse branco geralmente é obtido de um determinado color-checker.

Page 14: Fundamentos de Computação Gráfica Prof. Marcelo Gattass Guilherme Schirmer de Souza.

•Color checker é um quadro com 24 cores que representam objetos naturais de grande interesse como pele humana e o céu azul por exemplo. Esse quadro serve como um padrão objetivo para determinar o balanço de cor de qualquer sistema de cor, ajudando a determinar as diferenças de reprodução de cor (vide Figura 1).

Figura 1

Page 15: Fundamentos de Computação Gráfica Prof. Marcelo Gattass Guilherme Schirmer de Souza.

•Conversão de uma imagem da temperatura de cor de 2940K para 5450K.

Page 16: Fundamentos de Computação Gráfica Prof. Marcelo Gattass Guilherme Schirmer de Souza.

•Ajuste de cor da imagem com temperatura de cor 2940K.

Page 17: Fundamentos de Computação Gráfica Prof. Marcelo Gattass Guilherme Schirmer de Souza.

•Notas de aula.•http://www.brucelindbloom.com/index.html?Eqn_ChromAdapt.html

•http://www.hi-def.com/colorTemp.html•http://en.wikipedia.org/wiki/Color_temperature•http://en.wikipedia.org/wiki/Planckian_locus•http://en.wikipedia.org/wiki/White_balance•http://www.babelcolor.com/main_level/ColorChecker.htm#ColorChecker_data

Page 18: Fundamentos de Computação Gráfica Prof. Marcelo Gattass Guilherme Schirmer de Souza.

•http://usa.gretagmacbethstore.com/index.cfm/act/Catalog.cfm/catalogid/1742/category/ColorChecker%20Charts/browse/null/MenuGroup/__Menu%20USA%20New/desc/ColorChecker.htm•Gomes, Jonas; Velho, Luiz. Computação Gráfica:Imagem. 2ª Edição. Rio de Janeiro, IMPA, 2002.