top of page

Tarefa 11 - Aula 13

  • Foto do escritor: Ulisses Silva
    Ulisses Silva
  • 7 de out. de 2018
  • 3 min de leitura

Criar e explicar uma aplicação que, empregando variáveis para o controle de valores, realiza um processo de filtros diferentes em uma imagem qualquer.





Escolhi a seguinte imagem do Theatro José de Alencar para a aplicação dos filtros. A tarefa consistia em aplicar 4 filtros diferentes um por um. Logo, para cada um criei um procedimento diferente baseado no anterior.





O primeiro filtro foi o Ruído, ele deveria ser capaz de preencher a imagem com um número X de pontos, de cores aleatórias e em posições aleatórias. Para tanto, criei um procedimento que recebia uma valor inteiro, esse valor seria o número de pixels do meu ruído, ou seja, quanto maior o valor, mais ruído a imagem teria, e vice-versa. E criei também 3 variáveis para guardar os valores das cores no sistema RGB. Depois disso, com o uso de um laço que se repetia de acordo com o número de ruído passado, cada componente R, G e B, recebe um valor aleatório e a cor do ponto se torna esse valor, e chamei a função "point" para posicionar os pontos aleatoriamente de acordo com a largura e a altura da imagem.


Exemplo da aplicação do Ruído.



O filtro seguinte foi o Cinza, que deveria ir por cima do filtro do ruído e deixasse a imagem em tons de cinza somente. Para tanto, foi preciso criar no procedimento desse filtro, um "scanline" que pegasse a cor de cada ponto da imagem e armazenasse em cada variável R, G e B, para depois fazer uma média delas na hora de determinar a cor que deveria ser um número somente, para ficar em tons de cinza. Essa média foi baseada nos estudos que dizem que a porcentagem que nosso olho percebe as cores é diferente para cada cor. No caso, usei somente 30% do Vermelho, 59% do Verde e 11% do Azul e fiz uma média ponderada.


Imagem após a aplicação do filtro Cinza.



Seguindo em frente, o próximo filtro, Vermelho, deveria adicionar um canal de vermelho na imagem, deixando ela somente em tons de vermelho. Aproveitando o procedimento anterior, Cinza, usei o mesmo aninhamento de laços para checar cada pixel da imagem e pegar a cor de cada um deles. Mas dessa vez, usando somente a variável R e transformando cada pixel em vermelho. Na hora de colocar a cor, usei essa variável R como o parâmetro de vermelho, e a metade dela para os parâmetros de verde e azul. Essa utilização da metade dos vermelhos foi para não deixar a imagem tão escura, pois sem isso, cada pixel branco se tornara vermelho puro.


Imagem com a aplicação do filtro Vermelho por cima do filtro Cinza.



Por fim, faltava apenas o último filtro chamado Amarelo. Esse filtro deveria agora aplicar o canal de amarelo por cima dos outros filtros para gerar uma tonalidade sépia na imagem. O procedimento desse filtro ficou muito parecido com o do Vermelho, tendo como mudança mais substancial a colocação da cor através da variável R. Para isso, devemos entender que para a imagem ser amarelada, ela precisa ter apenas os canais Vermelho e Amarelo, pois quando eles estão no máximo e o canal Azul fica zerado, temos a cor amarelo. E entendendo que o vermelho percebido é de 30%, multipliquei a variável R por 0,7 (70%) na hora de colocá-la como parâmetro do canal Verde.


Resultado depois de aplicar cada filtro em sequência.

Link do código em texto: Baixar o texto do código!


Link da pasta do código em Processing: Baixar a pasta do código!

 
 
 

Comments


RECEBA AS NOVIDADES

  • Black Facebook Icon
  • Black Pinterest Icon
  • Black Instagram Icon

© 2023 por Sal & Pimenta. Orgulhosamente criado com Wix.com

bottom of page