美文网首页
中值滤波

中值滤波

作者: 大龙10 | 来源:发表于2021-10-19 06:05 被阅读0次

《OpenCV轻松入门:面向Python》读书笔记
作者:李立宗
出版社:电子工业出版社
出版时间:2019-05

第7章 图像平滑处理

7.4 中值滤波

  中值滤波与前面介绍的滤波方式不同,不再采用加权求均值的方式计算滤波结果。它用邻域内所有像素值的中间值来替代当前像素点的像素值。

7.4.1 基本原理

  中值滤波会取当前像素点及其周围临近像素点(一共有奇数个像素点)的像素值,将这些像素值排序,然后将位于中间位置的像素值作为当前像素点的像素值。
  例如,针对图7-27中第4行第4列的像素点,计算它的中值滤波值。


图7-27 一幅图像的像素值示例

将其邻域设置为3×3大小,对其3×3邻域内像素点的像素值进行排序(升序降序均可),按升序排序后得到序列值为:[66,78,90,91,93,94,95,97,101]。在该序列中,处于中心位置(也叫中心点或中值点)的值是“93”,因此用该值替换原来的像素值78,作为当前点的新像素值,处理结果如图7-28所示。


图7-28 中值滤波处理结果

7.4.2 函数语法

在OpenCV中,实现中值滤波的函数是cv2.medianBlur(),其语法格式如下:

dst=cv2.medianBlur(src,ksize)

式中:

  • dst是返回值,表示进行中值滤波后得到的处理结果。
  • src是需要处理的图像,即源图像。它能够有任意数量的通道,并能对各个通道独立处理。图像深度应该是CV_8U、CV_16U、CV_16S、CV_32F或者CV_64F中的一种。
  • ksize是滤波核的大小。滤波核大小是指在滤波处理过程中其邻域图像的高度和宽度。需要注意,核大小必须是比1大的奇数,比如3、5、7等。

7.4.3 程序示例

【例7.7】针对噪声图像,对其进行中值滤波,显示滤波的结果。

import cv2
o=cv2.imread("image\\lenaNoise.png")
r=cv2.medianBlur(o,3)
cv2.imshow("original",o)
cv2.imshow("result",r)
cv2.waitKey()
cv2.destroyAllWindows()

7.4.4

图7-29 中值滤波示例

从图中可以看到,由于没有进行均值处理,中值滤波不存在均值滤波等滤波方式带来的细节模糊问题。在中值滤波处理中,噪声成分很难被选上,所以可以在几乎不影响原有图像的情况下去除全部噪声。但是由于需要进行排序等操作,中值滤波需要的运算量较大。

相关文章

  • 数据处理-scipy中值滤波、pandas重采样

    1. scipy中值滤波 使用scipy中的signal.medfilt对数组进行中值滤波。 方法: scipy....

  • 脉搏波数据处理

    采集到的脉搏波数据先进行滤波预处理,滤波处理采用中值滤波。 进行了中值滤波预处理后的脉搏波会相对变得平缓,能抑制随...

  • OpenCV For iOS(六)方框、均值、高斯、中值、双边滤

    本节主要记录OpenCV 两类五种常见的滤波方式: 线性滤波:方框滤波、均值滤波、高斯滤波非线性滤波: 中值滤波、...

  • 中值滤波

    中值滤波使用当前像素点和它周围的8个像素点的中值来代替当前点额像素点,这个办法对去除椒盐噪声非常有效。 如果图片中...

  • 中值滤波

    《OpenCV轻松入门:面向Python》读书笔记作者:李立宗出版社:电子工业出版社出版时间:2019-05 第7...

  • 中值滤波

  • 7.6 2D卷积

    OpencV提供了多种滤波方式,来实现平滑图像的效果,例如均值滤波、方框滤波、高斯滤波、中值滤波等,大多数滤波方式...

  • 009-Opencv笔记-高斯双边模糊-矩阵掩膜

    中值滤波 中值滤波对椒盐噪声有很好的抑制作用 均值模糊无法克服边缘像素信息丢失缺陷。原因是均值滤波是基于平均权重 ...

  • 56. 中值滤波

    中值滤波步骤: 读取原图信息 读取灰度图 将指定矩形内的灰度值装入一维数组 将9个数排序 取中值 显示中值滤波后的...

  • OpenCV系列七 --- 非线性滤波

    上一篇我们学习了了线性滤波(方框滤波、均值滤波以及高斯滤波),这节呢,我们来学习一下非线性滤波(中值滤波、双边滤波...

网友评论

      本文标题:中值滤波

      本文链接:https://www.haomeiwen.com/subject/soluoltx.html