如何在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
快速复制),然后在获取值时引用原始数组。
我必须创建一个程序,在 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
快速复制),然后在获取值时引用原始数组。