【发布时间】:2020-08-11 19:32:57
【问题描述】:
我对 CS 非常陌生,我想我会向社区寻求帮助。我已经在过滤器(更少)pset 的模糊功能上停留了 6 个多小时,并且尝试了很多变化和适应,但似乎没有通过检查 50。
我非常感谢任何见解或建议(越详细越好)!
void blur(int height, int width, RGBTRIPLE image[height][width])
{
RGBTRIPLE copy[height][width];
for (int i = 0; i < height; i++)
{
for (int j = 0; j < width; j++)
{
copy[i][j] = image[i][j];
}
}
for (int i = 0; i < height; i++)
{
for (int j = 0; j < width; j++)
{
for (int h = - 1; h < 2; h++)
{
float counter = 0.0;
int avgGreen = 0;
int avgRed = 0;
int avgBlue = 0;
for (int k = - 1; k < 2; k++)
{
if (i + h < 0 || i + h > height -1)
{
continue;
}
if (j + k < 0 || j + k > width - 1)
{
continue;
}
avgGreen += copy[i + h][j + k].rgbtGreen;
avgBlue += copy[i + h][j + k].rgbtBlue;
avgRed += copy[i + h][j + k].rgbtRed;
counter++;
}
image[i][j].rgbtRed = round(avgred/ counter);
image[i][j].rgbtBlue = round(avgblue/ counter);
image[i][j].rgbtGreen = round(avggreen/ counter);
}
}
}
return;
}
【问题讨论】: