图像滤波总结
- 高斯滤波
- 中值滤波
- 均值滤波
- Motion Filter 滤波
- MAX-MIN 滤波
- 差分滤波器
- sobel滤波器
- prewitt滤波器
- laplacian滤波器
- emboss滤波器
- LoG滤波器
总结想从滤波应用+编程思路的角度来概括以上算子 参考资料来自于Github的图像处理100问
https://github.com/gzr2017/ImageProcessing100Wen
利用python实现,最后请大家坐稳!!
编程思路
以上滤波的方式大致用到两种方式,通过是否需要自定义模版将他们区分成两类:
1)直接调用函数型(例如中值滤波,直接在模版中调用np.median()函数就可以实现)
2)自定义编写模版型(例如高斯滤波、laplacian滤波,需要指定模版实现)
总的的编程思路可以归纳为:
1)编写灰度转换函数(不难),进行灰度转换;
2)对图像进行补零的操作zero padding(在图像周围补一圈0)这个好像在深度学习中也有用;
3)设计滤波模版或是调用np的简单函数实现
4)实现滤波
需要注意的是,在设计完滤波模版之后,需要对模版进行归一化操作。这样的好处在于减少运算,相当于是模板中每个像素附加了权值
各个算子作用
以上算子的话,核心作用应该只有三个吧:模糊图像、消除噪声、边缘提取、
高斯滤波:参数有sigma,掩膜核
作用:消除噪声,模糊图像,通过了低频信号
中直滤波:参数只有掩膜核大小
作用:消除椒盐噪声
均值滤波:参数只有掩膜核大小
作用:平滑图像
Motion Filter:参数有掩膜核大小
作用:运动模糊图像
差分滤波器:
作用:对亮度急剧变化的边缘有提取效果
sobel、prewitt、拉普拉斯、emboss算子:
作用:用不同方式来提取、增强图像边缘
LoG滤波:先进行高斯滤波平滑图像,之后进行拉普拉斯滤波,为什么要这么做呢?因为这样可以防止拉普拉斯滤波之后让图像里的噪声明显。所以先对图像平滑
作用:可以抑制噪声,同时增强图像边缘