中值滤波器 中值滤波

请问中值滤波与均值滤波各自的优缺点?均值滤波和中值滤波的内容非常基础,均值滤波相当于低通滤波,有将图像模糊化的趋势,对椒盐噪声基本无能为力 。中值滤波的优点是可以很好的过滤掉椒盐噪声,缺点是易造成图像的不连续性 。通过下面三张图可以清楚看到以上两种滤波方法的差异 。
/iknow-pic.cdn.bcebos.com/0824ab18972bd40772926bcb76899e510fb309aa"target="_blank"class="ikqb_img_alink"/iknow-pic.cdn.bcebos.com/0824ab18972bd40772926bcb76899e510fb309aa?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_600%2Ch_800%2Climit_1%2Fquality%2Cq_85%2Fformat%2Cf_auto"esrc=""/
原图是含有椒盐噪声的图像
/iknow-pic.cdn.bcebos.com/c2fdfc039245d688e0510a92a9c27d1ed21b24b0"target="_blank"class="ikqb_img_alink"/iknow-pic.cdn.bcebos.com/c2fdfc039245d688e0510a92a9c27d1ed21b24b0?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_600%2Ch_800%2Climit_1%2Fquality%2Cq_85%2Fformat%2Cf_auto"esrc=""/
利用中值滤波处理后,椒盐噪声几乎完全被去除掉
/iknow-pic.cdn.bcebos.com/a044ad345982b2b7054181f23cadcbef76099b2e"target="_blank"class="ikqb_img_alink"/iknow-pic.cdn.bcebos.com/a044ad345982b2b7054181f23cadcbef76099b2e?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_600%2Ch_800%2Climit_1%2Fquality%2Cq_85%2Fformat%2Cf_auto"esrc=""/
利用均值滤波处理后,椒盐噪声被处理成了小的气泡,但与此同时图像开始变得模糊 。
拓展资料:
中值滤波是基于排序统计理论的一种能有效抑制噪声的非线性信号处理技术,中值滤波的基本原理是把数字图像或数字序列中一点的值用该点的一个邻域中各点值的中值代替,让周围的像素值接近的真实值,从而消除孤立的噪声点 。方法是用某种结构的二维滑动模板,将板内像素按照像素值的大小进行排序,生成单调上升(或下降)的为二维数据序列 。二维中值滤波输出为g(x,y)=med{f(x-k,y-l),(k,l∈W)},其中,f(x,y),g(x,y)分别为原始图像和处理后图像 。W为二维模板,通常为3*3,5*5区域,也可以是不同的的形状,如线状,圆形,十字形,圆环形等 。
均值滤波也称为线性滤波,其采用的主要方法为邻域平均法 。线性滤波的基本原理是用均值代替原图像中的各个像素值,即对待处理的当前像素点(x,y),选择一个模板,该模板由其近邻的若干像素组成,求模板中所有像素的均值,再把该均值赋予当前像素点(x,y),作为处理后图像在该点上的灰度g(x,y),即g(x,y)=1/m∑f(x,y)m为该模板中包含当前像素在内的像素总个数 。

中值滤波器 中值滤波

文章插图
matlab 中值滤波1、中值滤波的原理:对于一串连续输入的信号(量化后是一组数据) 。如下图所示,是输入的原信号 。中值滤波的原理为,重新计算每一个x的输出值(y),新的输出值 。
相当于y=new(x),new的操作是,从在以x为中心,长度为2k的原信号中(区间为[x-k+1,x+k]),提取出这段区间内中间的那个值,作为y=new(x)的结果 。
2、举例来说,输入:Y[1-10]:1,2,3,4,5,6,7,8,9,10.取区间2k=4,所以k=2;执行中值滤波K=中值滤波(Y)、由x-k+1=1,所以当k=2时,x=2、滤波时:
K[1]=Y[1]
K[2]=(Y[1]、Y[2]、Y[3]、Y[4])的中间值,即为2或3 。
3、matlab的中值滤波实现方式:调用函数:A=medfilt1(B,n)、B为输入信号,A为滤波后的信号,即结果 。
4、对于输入信号(最开头的图),以下分别为设置区间n=8和n=16得到的滤波图像 。中值滤波可以过滤尖峰脉冲 。目的在于我们对于滤波后的数据更感兴趣 。滤波后的数据保留的原图像的变化趋势,同时去除了尖峰脉冲对分析造成的影响 。
中值滤波??中值滤波与前面介绍的滤波方式不同,不再采用加权求均值的方式计算滤波结果 。它用邻域内所有像素值的中间值来替代当前像素点的像素值 。
??中值滤波会取当前像素点及其周围临近像素点(一共有奇数个像素点)的像素值,将这些像素值排序,然后将位于中间位置的像素值作为当前像素点的像素值 。
??例如,针对图7-27中第4行第4列的像素点,计算它的中值滤波值 。
将其邻域设置为3×3大小,对其3×3邻域内像素点的像素值进行排序(升序降序均可),按升序排序后得到序列值为:[66,78,90,91,93,94,95,97,101] 。在该序列中,处于中心位置(也叫中心点或中值点)的值是“93”,因此用该值替换原来的像素值78,作为当前点的新像素值,处理结果如图7-28所示 。
在OpenCV中,实现中值滤波的函数是cv2.medianBlur(),其语法格式如下:
式中:
【例7.7】针对噪声图像,对其进行中值滤波,显示滤波的结果 。

秒懂生活扩展阅读