0

I've wrote the code for filter Blur that seems to me have to work. But i don't receive right numbers. Please help me :)))

void blur(int height, int width, RGBTRIPLE image[height][width])
{
for (int i = 0; i < height; i++)
{
    for (int j = 0; j < width; j++)
    {
        int av = 8;
        int redB, greenB, blueB;

        if (i == 0 || i == (height - 1))
        {
            if (j == 0)
            {
                av = av - 5;
            }
            else if (j == (width - 1))
            {
                av = av - 5;
            }
            av = av - 3;
        }
        if (j == 0 || j == (width - 1))
        {
            if (i == 0)
            {
                av = av - 5;
            }
            else if (i == (height - 1))
            {
                av = av - 5;
            }
            av = av - 3;
        }

        redB = round((image[i - 1][j - 1].rgbtRed + image[i - 1][j].rgbtRed + image[i - 1][j + 1].rgbtRed + image[i][j - 1].rgbtRed + image[i][j + 1].rgbtRed + image[i + 1][j - 1].rgbtRed + image[i + 1][j].rgbtRed + image[i + 1][j + 1].rgbtRed) / av);
        greenB = round((image[i - 1][j - 1].rgbtGreen + image[i - 1][j].rgbtGreen + image[i - 1][j + 1].rgbtGreen + image[i][j - 1].rgbtGreen + image[i][j + 1].rgbtGreen + image[i + 1][j - 1].rgbtGreen + image[i + 1][j].rgbtGreen + image[i + 1][j + 1].rgbtGreen) / av);
        blueB = round((image[i - 1][j - 1].rgbtBlue + image[i - 1][j].rgbtBlue + image[i - 1][j + 1].rgbtBlue + image[i][j - 1].rgbtBlue + image[i][j + 1].rgbtBlue + image[i + 1][j - 1].rgbtBlue + image[i + 1][j].rgbtBlue + image[i + 1][j + 1].rgbtBlue) / av);

        image[i][j].rgbtRed = redB;
        image[i][j].rgbtGreen = greenB;
        image[i][j].rgbtBlue = blueB;
    }
}
return;

}

You must log in to answer this question.

Browse other questions tagged .