Processamento de Imagem com Processing
13/05/2015 22:56
Olá pessoas!
Continuando o artigo anterior que trata de arte digital com a ferramenta Processing, mostrarei hoje algumas experiências com processamento de imagem. E para isso utilizarei uma foto minha.
No site oficial há um tutorial intitulado "Imagens and Pixels" que te guia nos seus primeiros passos com processamento de imagens.
Primeiros códigos
O primeiro passo para realizar o processamento de imagens é carregar uma imagem a seu gosto para que possamos manipulá-la. Para isso há um código minimamente necessário mostrado a seguir:
PImage img; // Declarando uma variável do tipo Imagemvoid setup() {size(550, 505); // O comando "size" define o tamanho da janela de exibição do resultadoimg = loadImage("eu.jpg"); // Carregando em img uma nova instância da imagem "eu.jpg"}void draw() {background(0);image(img,0,0, 550, 505); // Desenhando a imagem com o mesmo tamanho da tela}
O código acima carrega uma foto minha que se encontra no diretório "data" do projeto. Ao executar o código acima imagem é exibida:

Variação de brilho, transparência, e cor
O Brilho
A função que controla o brilho das imagens no processing é a "tint()" que recebe como parâmetro um número que varia de 0 (preto) a 255 (brilho natural).
Vamos reduzir o brilho pela metade, ou seja, aproximadamente 123:
void draw() {background(0);image(img,0,0, 550, 505);tint(127); // <-- Brilho reduzido!}
O resultado é uma imagem mais escura:

A Transparência (Opacidade)
A função tint() possui sobrecargas de implementação, ou seja, a mesma função possui mais de uma funcionalidade de acordo com o número de parâmetros informaados. Para manipular a transparência é preciso informar para a função um segundo método que define a opacidade da imagem. Vamos manter o brilho em seu valor normal de 255 e agora vamos reduzir em 50% a opacidade da imagem:
void draw() {background(0);image(img,0,0, 550, 505);tint(255, 127); // <-- Brilho normal, e opacidade reduzida em 50%!}
O resultado é uma imagem mais transparente:

A Cor
Para manipular a cor da imagem é preciso informar para a função tint 3 parâmetros, que agora representarão as tonalidades RGB: Vermelho (Red), Verde (Green) e Azul (Blue).
Para este teste vamos deixar a foto com uma tonalidade mais amarelada, e para isso vamos especificar 100 para red, 255 para green, e 100 para blue:
void draw() {background(0);image(img,0,0, 550, 505);tint(100, 255, 100); // <-- Valorização do 2º parâmetro: verde}
O resultado é uma imagem mais esverdeada:
