Advertisement
Guest User

Untitled

a guest
Oct 22nd, 2017
68
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.80 KB | None | 0 0
  1. void Filter(const BYTE *inputImage, BYTE *outputImage, const int width, const int height)
  2. {
  3.     int i, j, k, l;
  4.     double sum;
  5.  
  6.     for (j = 0; j < height; ++j)
  7.         for (i = 0; i < width; ++i)
  8.             outputImage[GetIndex(i, j, width)] = 0;
  9.  
  10.     for (i = 0; i < width; ++i)
  11.         for (j = 0; j < height; ++j)
  12.         {
  13.         if (i != 0 && j != 0 && i != width - 1 && j != height - 1)
  14.         {
  15.             sum = 0.0;
  16.  
  17.             for (k = -1; k <= 1; ++k)
  18.                 for (l = -1; l <= 1; ++l)
  19.                 {
  20.                 if ((k == 0 && l != 0) || (l == 0 && k != 0))
  21.                     sum += 4.0 * inputImage[GetIndex(i + l, j + k, width)] / 28.0;
  22.                 else if (k == 0 && l == 0)
  23.                     sum += 8.0 * inputImage[GetIndex(i + l, j + k, width)] / 28.0;
  24.                 else
  25.                     sum += inputImage[GetIndex(i + l, j + k, width)] / 28.0;
  26.                 }
  27.  
  28.             outputImage[GetIndex(i, j, width)] = (BYTE)sum;
  29.         }
  30.         }
  31. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement