Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- void Filter(const BYTE *inputImage, BYTE *outputImage, const int width, const int height)
- {
- int i, j, k, l;
- double sum;
- for (j = 0; j < height; ++j)
- for (i = 0; i < width; ++i)
- outputImage[GetIndex(i, j, width)] = 0;
- for (i = 0; i < width; ++i)
- for (j = 0; j < height; ++j)
- {
- if (i != 0 && j != 0 && i != width - 1 && j != height - 1)
- {
- sum = 0.0;
- for (k = -1; k <= 1; ++k)
- for (l = -1; l <= 1; ++l)
- {
- if ((k == 0 && l != 0) || (l == 0 && k != 0))
- sum += 4.0 * inputImage[GetIndex(i + l, j + k, width)] / 28.0;
- else if (k == 0 && l == 0)
- sum += 8.0 * inputImage[GetIndex(i + l, j + k, width)] / 28.0;
- else
- sum += inputImage[GetIndex(i + l, j + k, width)] / 28.0;
- }
- outputImage[GetIndex(i, j, width)] = (BYTE)sum;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement