加权均值滤波的图像,用 Matlab 做起来还挺顺手的。imfilter
配上fspecial('gaussian')
,基本上就能快速做出不同模糊程度的效果图。用subplot
直接把原图和 3 种滤波效果排一排,一目了然,方便对比,适合做教学演示或者算法调试。
图像里的加权均值滤波
,其实就是对周围像素给点“亲疏有别”的权重,离得近的像素更重要。Matlab 里用fspecial('gaussian', [大小])
就能直接搞定,像[3 3]
或[7 7]
都挺常用的。
你要是对图像平滑感兴趣,可以多试试不同核大小对细节的影响,比如5x5
模糊得刚刚好,7x7
就有点狠了。需要注意的是,边缘信息会被抹掉,前最好先看清楚你对图像保留细节的需求。
想进一步研究的,可以看看下面这些相关文章。有基础的,也有偏进阶的滤波优化,还有一些带源码的案例,挺全的,适合快速查阅:
- Matlab 实现均值滤波的图像程序
- matlab 图像中均值滤波的利与弊
- MATLAB 图像中的滤波技术
- matlab 图像中的线性滤波优化
- Matlab 图像噪声添加与高低通滤波实现
- 图像中的 K 均值算法分享-未命名图像.m
- MATLAB 图像源码
- 图像中的频域滤波技术探索
- Matlab 图像示例
- Windows 计算机视觉与图像工具箱中 MATLAB 算术均值滤波算法
如果你正好在做图像模糊、噪声或者图像增强,用这个思路跑几遍试试,快能看到直观效果。