April 05
Prof. Ismael H. F. Santos -  ismael@tecgraf.puc-rio.br                                                          46
Programa Simples
void main(void){
  int w, h;             // dimensões da imagem 
  unsigned char *rgb;      // bytes de rgb
  unsigned char r,g,b,grey; // componentes de cor
  int x,y;   long int k;
  if (ppm_read(&w,&h,&rgb,"test_in.ppm")==0) return;
 
  for (y = 0; y < h; y++)  {
    for (x = 0; x < w; x++)    {
        k = 3*(y*w+x);
        r = rgb[k]; 
        g = rgb[k+1]; 
        b = rgb[k+2];
        grey = (unsigned char)(0.3*r+0.6*g+0.1*b);
        rgb[k] = grey; rgb[k+1] = grey; rgb[k+2] = grey;
    }
  } 
 ppm_write(w, h, rgb, "test_out.ppm");
 free(rgb);
}