1

我是 MATLAB 新手。我不知道如何使用几何平均滤波器来过滤噪声图像。对于算术平均滤波器,我使用这个:

H = fspecial('average',5);
a = imfilter(a, H);

几何平均滤波器有没有类似的方法?

4

1 回答 1

1

就在这里。我建议阅读有关几何平均值的Wikipedia 页面以及在 The Mathworks 工作的 Steve Eddins 的博客。

借用史蒂夫的解释(实际上是整个代码/示例):

局部几何平均滤波器将邻域中的所有像素值相乘,然后取 N 次根,其中 N 是邻域中的像素数。

因此,就 Matlab 代码而言,h内核填充了具有邻域大小的内核,用于计算平均值并I成为您的图像:

geo_mean = imfilter(log(I), h, 'replicate');
geo_mean = exp(geo_mean);
geo_mean = geo_mean .^ (1/numel(h));

希望有帮助!

于 2016-12-22T17:06:11.357 回答