Facebook
From ozioo, 3 Years ago, written in Plain Text.
Embed
Download Paste or View Raw
Hits: 123
  1. void blur(int height, int width, RGBTRIPLE image[height][width])
  2. {
  3.     // grid: , width -1 is leftwards , width +1 is rightwards, height +1 is above height -1 is below
  4.     int TempRed =0;
  5.     int TempBlue=0;
  6.     int TempGreen=0;
  7.     int pixelcount=0;
  8.     RGBTRIPLE buffer2[height][width];
  9.     RGBTRIPLE blur[height][width];
  10.     for(int y = 0 ; y < height ; y++)
  11.              {
  12.                  for(int x = 0 ; x < width ; x++)
  13.                  {
  14.                      buffer2[y][x]= image[y][x];
  15.                  }
  16.              }
  17.     for(int y = 0 ; y < height ; y++)
  18.              {
  19.                  for(int x = 0 ; x < width ; x++)
  20.                  {
  21.                      
  22.                      if(y - 1 > -1 && x - 1 > -1)
  23.                      {
  24.                          TempBlue +=buffer2[y-1][x-1].rgbtBlue;
  25.                          TempRed +=buffer2[y-1][x-1].rgbtRed;
  26.                          TempGreen +=buffer2[y-1][x-1].rgbtGreen;
  27.                          pixelcount++;
  28.                      }
  29.                     if(y - 1 > -1)
  30.                      {
  31.                          TempBlue +=buffer2[y-1][x].rgbtBlue;
  32.                          TempRed +=buffer2[y-1][x].rgbtRed;
  33.                          TempGreen +=buffer2[y-1][x].rgbtGreen;
  34.                          pixelcount++;
  35.                      }
  36.                      if(y - 1 > -1 && x + 1 < width)
  37.                      {
  38.                          TempBlue +=buffer2[y-1][x+1].rgbtBlue;
  39.                          TempRed +=buffer2[y-1][x+1].rgbtRed;  
  40.                          TempGreen +=buffer2[y-1][x+1].rgbtGreen;
  41.                          pixelcount++;
  42.                      }
  43.                      if(x - 1 > -1)
  44.                      {
  45.                          TempBlue +=buffer2[y][x - 1].rgbtBlue;
  46.                          TempRed +=buffer2[y][x - 1].rgbtRed;  
  47.                          TempGreen +=buffer2[y][x - 1].rgbtGreen;
  48.                          pixelcount++;
  49.                      }
  50.                      TempBlue +=buffer2[y][x].rgbtBlue;
  51.                      TempRed +=buffer2[y][x].rgbtRed;  
  52.                      TempGreen +=buffer2[y][x].rgbtGreen;
  53.                      pixelcount++;
  54.                      if(x + 1 < width)
  55.                      {
  56.                          TempBlue +=buffer2[y][x+ 1].rgbtBlue;
  57.                          TempRed +=buffer2[y][x+ 1].rgbtRed;  
  58.                          TempGreen +=buffer2[y][x+ 1].rgbtGreen;
  59.                          pixelcount++;
  60.                      }
  61.                      if(y + 1 < height && x - 1 > -1)
  62.                      {
  63.                          TempBlue +=buffer2[y+1][x-1].rgbtBlue;
  64.                          TempRed +=buffer2[y+1][x-1].rgbtRed;  
  65.                          TempGreen +=buffer2[y+1][x-1].rgbtGreen;
  66.                          pixelcount++;
  67.                      }
  68.                      if(y + 1 < height )
  69.                      {
  70.                          TempBlue +=buffer2[y+1][x].rgbtBlue;
  71.                          TempRed +=buffer2[y+1][x].rgbtRed;  
  72.                          TempGreen +=buffer2[y+1][x].rgbtGreen;
  73.                          pixelcount++;
  74.                      }
  75.                      if(y + 1 < height && x + 1 < width)
  76.                      {
  77.                          TempBlue +=buffer2[y+1][x+1].rgbtBlue;
  78.                          TempRed +=buffer2[y+1][x+1].rgbtRed;  
  79.                          TempGreen +=buffer2[y+1][x+1].rgbtGreen;
  80.                          pixelcount++;
  81.                      }
  82.                      blur[y][x].rgbtBlue = round(TempBlue/pixelcount);
  83.                      blur[y][x].rgbtRed  =  round(TempRed/pixelcount);
  84.                      blur[y][x].rgbtGreen = round(TempGreen/pixelcount);
  85.                  }
  86.              }
  87.              for(int y = 0 ; y < height ; y++)
  88.              {
  89.                  for(int x = 0 ; x < width ; x++)
  90.                  {
  91.                      image[y][x]= blur[y][x];
  92.                  }
  93.                      
  94.              }      
  95.     return;
  96. }