低通滤波,高通滤波,中值滤波
低通滤波和高通滤波
【参考:图像处理之高通滤波及低通滤波】
低通滤波和高通滤波需用到傅里叶变换知识,可参考这里。
图像在频域里面,频率低的地方说明它是比较平滑的,因为平滑的地方灰度值变化比较小
,而频率高的地方通常是边缘或者噪声,因为这些地方往往是灰度值突变的。示例:
在图像的频域图中,靠近中心的是低频部分,远离中心的是高频部分。高通滤波
就是保留频率比较高的部分,即保留物体的边界。具体做法是把靠近频谱图中心的低频部分给舍弃掉,远离频谱图中心的高频部分保留。
低通滤波
就是保留频率比较低的地方,即平滑图像,弱化边缘,消除噪声。具体做法是把靠近频谱图中心的低频部分给保留,远离频谱图中心的高频部分给去除掉。
在空间域,高斯核卷积的结果近似低通滤波。
中值滤波
【参考:图像处理——中值滤波】
定义
中值滤波是一种非线性的信号处理方法,所以它是一种非线性滤波器,也是一种统计排序滤波器。它将每一像素点的灰度值设置为该点某邻域窗口内的所有像素点灰度值的中值。
目的
中值滤波对孤立的噪声像素即椒盐噪声、脉冲噪声具有良好的滤波(消除)效果,可以保持图像的边缘特性,不会使图像产生显著的模糊。
示例
具体操作步骤
- 用一个奇数点的移动窗口,并将模板中心与图中某个像素位置重合;
- 读取模板下各对应的像素灰度值/从小到大,从大到小均可;
- 选取灰度序列中,中间的一个像素的灰度值;
- 将中间值赋给模板中心位置的像素。
CV自带的medianBlur函数
dst = cv2.medianBlur(src, ksize)
参数说明:
- src: 需要滤波的图片;
- ksize:核大小,必须是比1大的奇数
中值滤波python代码实现