Edição de imagem com OpenGL
PUC-Rio – Prof. Marcelo Gattass
Luciana Brasil Sondermann Alves
Edição de Imagem utilizando OpenGL
Foi necessário o uso da biblioteca GLAUX e da classe ImageClass.cpp. A imagem original flor.bmp pode ser editada de 4 formas diferentes. A saber: Conversão em preto e branco, escala de cinza, inversão de cores e filtro passa-alta.
Flor.bmp
O programa EditionImage lê uma imagem .bmp e após varrê-la pixel a pixel, cada um destes pode ser alterado criando uma nova imagem de acordo com uma das edições solicitadas.
void ConvertBlackAndWhite()
Esta função recria a imagem em preto e branco. Funciona da seguinte forma: primeiro define-se um filtro para o valor de intensidade, de modo que se a intensidade de um pixel for abaixo do filtro escolhido, este terá a cor preta enquanto que os demais possuirão a cor branca. O filtro escolhido foi 80. A tecla de atalho para esta função ser chamada é a letra ‘c’.
Imagem criada após a utilização da função void ConvertBlackAndWhite()
Fundamentos da Computação Gráfica
PUC-Rio – Prof. Marcelo Gattass
Luciana Brasil Sondermann Alves
void GrayScale()
Esta função recria a imagem em escala de cinza. Para que uma imagem fique em escala de cinza, basta que os valores r, g e b possuam o mesmo valor.
Ela calcula a intensidade de cada um dos pixels através da equação r*0.3 + g*0.59 + b*0.11 e substitui os valores r, g e b de cada imagem pelo valor da intensidade calculado. A tecla de atalho para esta função ser chamada é a letra ‘g’.
Imagem criada após a utilização da função void GrayScale()
void InverseColor()
Esta função recria a imagem invertendo suas cores originais, criando o efeito chamado de “negativo da imagem”.
Esta função substitui as cores r, g e b de cada um dos pixels pelo seu valor oposto, ou seja: r = 1-r, b = 1-b e g = 1-g. A tecla de atalho para esta função ser chamada é a letra ‘i’.
Imagem criada após a utilização da função void InverseColor()