中值滤波(资料整理,持续更新)

这篇具有很好参考价值的文章主要介绍了中值滤波(资料整理,持续更新)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

中值滤波(Median Filter),用于图像的中值滤波最早是由美国普林斯顿大学的John Wilder Tukey教授提出来的。常见的线性滤波器,用于图像处理时,有可能导致细节模糊或破坏边缘,更关键的是无法滤除脉冲干扰,而中值滤波,作为一种典型的非线性滤波器,则可以较好地解决此类问题。

中值滤波的基本工作原理是基于排序统计理论,把数字图像或数字序列中某一点的值用该点的一个邻域中各点值的中值代替,从而使周围的像素值更接近真实值,达到消除孤立噪声点的目的。实际操作中,中值滤波会选取数字图像或数字序列中像素点及其周围临近像素点(要求奇数个像素点,例如3*3,5*5等)的像素值,将这些像素值排序,然后将位于中间位置的像素值作为当前像素点的像素值,使周围的像素值接近真实值,从而消除孤立的噪声点。下图中取像素点79(红色标示),该像素及邻近像素点3*3,即绿色区域内的像素点。将这些像素点的像素值进行排序,按升序排序后得到序列值为:[68,79,86,89,93,93,93,98,102]。在该序列中,处于中心位置(也叫中心点或中值点)的值是93,以该值替换原来的像素值 79,作为操作点的新像素值。

5 57 23 52 23 59
123 20 64 34 79 66
47 19 98 93 93 26
70 63 93 79 86 175
70 98 68 89 102 199
97 87 88 43 39 120

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

         dst=cv2.medianBlur(src,ksize)

        dst:返回值,中值滤波结果

        src: 源图像,即需要处理的图像。可以有任意数量的通道,对各个通道独立处理

        ksize:滤波核。滤波核大小是指在滤波处理过程中其邻域图像的高度和宽度,核大小必须是比1大的奇数,比如3、5、7等。

对上图进行中值滤波,核为3,结果为:

20 23 52 34 52 59
47 47 52 64 59 59
63 64 64 86 79 79
70 70 89 93 93 102
70 87 87 86 89 120
97 88 87 68 89 120

代码如下:

import cv2
im=cv2.imread("test_m.bmp",0)
im
dst=cv2.medianBlur(im,3)
dst

test_m.bmp文件,即上述原始图像:用于测试中值滤波的demo文件资源-CSDN文库

中值滤波在滤除高斯噪声、随机噪声、“椒盐”噪声及冲击噪声中表现突出。通常中值滤波中的数据排序费时较多,特别在大窗口下,需要进行大量的数据比较工作,不利于图像快速实时的处理。中值滤波算法的复杂度是O(r2logr),其中r为核的半径。当像素的可能取值是个常数时,比如对于8位图像,可以使用桶排序(Bucker sort),该排序使得算法的复杂度降低为O(r2)。但是除了小半径的情况外,这样的改进任然是不可接受的。

传统中值滤波(Standard Median Filter,SM),是通过快速排序寻找像素点集合的中值,该方法对滤波窗口形状和像素灰度级没有限制,具有更加广泛的运用范围。由算法原理可知,传统中值滤波算法的执行效率由快速排序算法的时间复杂度决定, 其基本思想是通过每次排序将像素点集合划分为相互独立的两个子集合, 其中一个子集合中所有像素值都比另一个子集合中所有像素值小, 然后分别对这两个子集合继续进行排序, 直到滤波窗口中所有像素点有序。SM算法最后选取位于序列中间位置的元素作为中值滤波的输出。

加权中值滤波(Weight Median Filter),将窗口内的每一个像素都乘上一个相应的权值,然后利用乘上权值后的值进行排序,取中值替换中心元素的灰度值即可。传统中值滤波可以看做是每个像素的权值都是1的加权中值滤波。加权中值滤波比较耗时,基本是O(r2)的复杂度,在实时性要求比较高的项目中是难以应用的。

自适应中值滤波器(Adaptive Median Filter),在噪声密度不是很大的情况下(根据报道,噪声出现的概率小于20%),使用中值滤波的效果不错。但是当噪声出现的概率比较高时,原来的中值滤波算法就不是很有效了。只有增大滤波器窗口尺寸,尽管会使图像变得模糊。使用自适应中值滤波器的目的就是,根据预设好的条件,动态地改变中值滤波器的窗口尺寸,以同时兼顾去噪声作用和保护细节的效果。
 文章来源地址https://www.toymoban.com/news/detail-491960.html

到了这里,关于中值滤波(资料整理,持续更新)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【蓝桥杯EDA设计与开发】资料汇总以及立创EDA及PCB相关技术资料汇总(持续更新)

    [18/01/2024]: 目前为了准备蓝桥杯做一些资料贴,于是写下这一篇博客。 各种资料均来源于网络以及部分书籍、手册等文档,参考不保证其准确性。 如果在准备蓝桥杯,可与我私信共同学习!!!(2014年) 大部分的学习和参考资料都可在蓝桥云课上找到。 蓝桥杯大赛历届真

    2024年01月20日
    浏览(46)
  • Redis面试题整理(持续更新)

    1. 缓存穿透? 缓存穿透是指查询一个一定不存在的数据,如果从存储层查不到数据则不写入缓存,这将导致这个不存在的数据每次请求都要到 DB 去查询,可能导致DB挂掉,这种情况大概率是遭到了攻击。 解决方案: 布隆过滤器: 它的底层主要是先去初始化一个比较大数组,

    2024年02月20日
    浏览(32)
  • CXL论文阅读笔记整理(持续更新)

    arXiv Paper 对CXL技术进行介绍,包括CXL 1.0、CXL 2.0、CXL 3.0,对各规范的提升做介绍。整理了现有的CXL实现方法,延迟测试结果,对未来发展进行展望。 Queue 2023 Paper 泛读笔记 CXL提供的是粗力度的内存共享,没有提供细粒度的内存保护功能,作者提出用针对特定领域优化的去中心

    2024年04月15日
    浏览(32)
  • 线性代数复习公式整理(自用/持续更新)

    设A、B为n阶矩阵 ∣ A T ∣ = ∣ A ∣ left | A^T right | =left | A right | ​ A T ​ = ∣ A ∣ ∣ A m ∣ = ∣ A ∣ m left | A^m right | =left | A right | ^m ∣ A m ∣ = ∣ A ∣ m ∣ k A ∣ = k n ∣ A ∣ left | kA right | =k^nleft | A right | ∣ k A ∣ = k n ∣ A ∣ ∣ A B ∣ = ∣ A ∣ ∣ B ∣ left | AB right |

    2024年02月13日
    浏览(33)
  • unity移动端性能优化技术整理(持续更新)

    本文主要针对一些常见的性能优化的点进行总结。属于一个high level的overview。需要注意只有当这些模块确定成为制约帧时间的瓶颈时,才能够进行针对性地优化,否则可能会适得其反,事倍功半。 一般来说,移动端性能优化,如果同时支持ios和android,建议先从ios开始优化,

    2024年02月06日
    浏览(33)
  • SonarQube扫描常见Bug、漏洞修复整理(持续更新中)

    这种提示是指可能存在空指针异常,需要增加空值检测。 说明:未做非空校验,可能产生空指针 解决方案:加上非空校验 解决方式:先判断或者先实例化,再访问里面的属性或者成员。 说明:int数运算最终再把结果转为long将有可能产生溢出 说明:防止内存泄露溢出,Thr

    2024年02月15日
    浏览(43)
  • CTF Web SQL注入专项整理(持续更新中)

    SQL注入即是指web应用程序对用户输入数据的合法性没有判断或过滤不严,攻击者可以在web应用程序中事先定义好的查询语句的结尾上添加额外的SQL语句,在管理员不知情的情况下实现非法操作,以此来实现欺骗数据库服务器执行非授权的任意查询,从而进一步得到相应的数据

    2024年01月20日
    浏览(28)
  • 初学Verilog语言基础笔记整理(实例点灯代码分析)持续更新~

    实例:点灯学习 刚接触 Verilog ,作为一个硬件小白,只能尝试着去理解,文章未完…持续更新。 参考博客文章: Verilog语言入门学习(1) Verilog语法 【 Verilog 】一文带你了解 Verilog 基础语法 - 子墨祭的文章 - 知乎 关于Verilog中的几种赋值语句 这里抄点,那里扣点,整理了一

    2024年02月07日
    浏览(31)
  • 【Unity开发必备】100多个 Unity 学习网址 资源 收藏整理大全【持续更新】

    众所周知,工欲善其事必先利其器,有一个好的工具可以让我们事半功倍,有一个好用的网站更是如此! 但是好用的网站真的太多了,收藏夹都满满的(但是几乎没打开用过😁)。 所以本文是对Unity相关的网站进行一个资源整合,可以让我们更方便的去学习Unity的更多知识内容

    2024年02月16日
    浏览(42)
  • Wordpress升级版本后插件和主题常见出错及处理方法整理【持续更新】

    一般常用的排查方法: 暂时禁用所有插件; 将主题更改为默认主题;  修改wp-config.php文件; 更新固定链接设置,确保设置正确; 检查.htaccess文件是否存在且是否可写; 检查主题的页面模板文件是否存在;7、检查wp-config.php文件的数据库凭据是否正确; 使用phpMyAdmin等工具检

    2024年02月14日
    浏览(24)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包