加权均值滤波的图像,用 Matlab 做起来还挺顺手的。imfilter配上fspecial('gaussian'),基本上就能快速做出不同模糊程度的效果图。用subplot直接把原图和 3 种滤波效果排一排,一目了然,方便对比,适合做教学演示或者算法调试。

图像里的加权均值滤波,其实就是对周围像素给点“亲疏有别”的权重,离得近的像素更重要。Matlab 里用fspecial('gaussian', [大小])就能直接搞定,像[3 3][7 7]都挺常用的。

你要是对图像平滑感兴趣,可以多试试不同核大小对细节的影响,比如5x5模糊得刚刚好,7x7就有点狠了。需要注意的是,边缘信息会被抹掉,前最好先看清楚你对图像保留细节的需求。

想进一步研究的,可以看看下面这些相关文章。有基础的,也有偏进阶的滤波优化,还有一些带源码的案例,挺全的,适合快速查阅:

如果你正好在做图像模糊、噪声或者图像增强,用这个思路跑几遍试试,快能看到直观效果。