Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Image processing 平均模糊遮罩会产生不同的结果_Image Processing_Processing - Fatal编程技术网

Image processing 平均模糊遮罩会产生不同的结果

Image processing 平均模糊遮罩会产生不同的结果,image-processing,processing,Image Processing,Processing,将每个像素乘以平均模糊遮罩*(1/9),但结果完全不同 PImage到平均模糊(PImage a) { PImage aBlur=新PImage(a.宽度,a.高度); aBlur.loadPixels(); 对于(int i=0;i

将每个像素乘以平均模糊遮罩*(1/9),但结果完全不同

PImage到平均模糊(PImage a)
{
PImage aBlur=新PImage(a.宽度,a.高度);
aBlur.loadPixels();
对于(int i=0;i
目前,您没有应用平均滤镜,您只是将图像缩放1/9倍,这将使图像更暗。你的术语很好,你正在尝试应用3x3移动平均线(或邻里平均线),也称为boxcar过滤器

对于每个像素i,j,您需要取(i-1,j-1)、(i-1,j+1)、(i,j-1)、(i,j)、(i,j+1)、(i+1,j-1)、(i+1,j-1)、(i+1,j+1)之和,然后除以9(表示3x3的平均值)。为此,你不需要考虑图像边缘上的像素,它没有9个邻居(例如,你以像素(1,1)开始)。输出图像将是每侧较小的像素。或者,您可以将值镜像出来,在输入图像中添加额外的行,使输出图像与原始图像大小相同


有更有效的方法,例如使用基于FFT的卷积;这些方法速度更快,因为它们不需要循环。

您好,您提出的想法给了我一些有图案的图片,模糊没有work@bnjamin,在边缘中,你将坏到零,你能给出示例代码吗正如我提到的,你需要用一个常量、镜像或扩展边缘填充图像。否则,内核中的“零”将影响边缘窗口的平均值。你想用这段代码实现什么?@Jordaan Mylonas:平均模糊普通图像据我所知,“平均模糊”不是一个标准的、定义良好的术语。你能详细说明或说明你的意思吗,因为这个词可能有很多解释