如何在c中实现框模糊?

How to implement box blur in c?

我必须创建一个程序,在 c 中的图像上应用框模糊。 box blur 是你得到距离你想要模糊的像素 1 个像素以内的 rgb 值的平均值。

00ffff ff00ff fff0f0
0f0f0f f0f0f0 fff000
000fff f0f00f f00f0f

假设我有一个二维数组,其中包含图像中某个像素的 RGB 值。要模糊右上角的像素,我必须对 (0,0)、(0,1)、(1,0)、(1,1) 中的像素进行平均,对吧?例如,平均值是 ffffff 那么如果我必须模糊 (0,1) 中的像素,我是否必须使用原始值 00ffff 或新值 ffffff???

To blur the top right pixel I would have to average out the pixels in (0,0), (0,1), (1,0), (1,1)

没错。

would I have to use the original value 00ffff or the new value ffffff???

您应该对原始值进行平均。我建议制作多维数组的副本(您可以使用 memcpy 快速复制),然后在获取值时引用原始数组。