terça-feira, 26 de janeiro de 2016

Ajuste de contraste

O ajuste de contraste numa imagem é feito a partir da alteração dos valores RGB desta imagem. Quanto maior for o valor dado aos parâmetros RGB, a imagem será mais clara, assim como quanto menores forem estes valores ela vai se tornando mais escura.

Segue abaixo o código que fiz junto com os comentários explicando cada parte do código. Ao final, uma imagem demonstrando o resultado.

//variável com a imagem original
PImage imgOriginal;
//variável que irá armazenar a cópia da imagem, informando o tamanho dele
PImage imgCopia = createImage(320, 240, RGB);

//variável que referencia a posição dos pixels
int pos;
/*variáveis que armazenam o valor dos pixels referenciando, respectivamente,
red, green e blue*/
float r;
float g;
float b;
//variável que receberá o valor de contraste
float contraste;

void setup(){
  size(640, 480);
  imgOriginal = loadImage("original.jpg");
  //loop que percorrerá a imagem original
  for (int x = 0; x < 320; x++){
    for (int y = 0; y <240; y++){
      pos = y * 320 + x;
      //valor dado ao contraste que irá modificar a imagem
      contraste = 30;
      //armazenamento do valor RGB dos pixels da imagem original somados ao contraste
      r =  contraste + red(imgOriginal.pixels[pos]);
      g = contraste + green(imgOriginal.pixels[pos]);
      b = contraste + blue(imgOriginal.pixels[pos]);
      //imagem recebe os valores RGB somado com o contraste
      imgCopia.pixels[pos] = color(r, g, b);
     
    }
  }
}

void draw(){
  //posicionamento das imagens
  image(imgOriginal, 0, 0);
 
  image(imgCopia, 320, 0);
}


Nenhum comentário:

Postar um comentário