数字图像处理——中值滤波及其改进算法

一、算法介绍

        中值滤波器是非线性滤波器的一个例子,它在保留图像特征方面非常有效。 但是,滤波器的窗口大小直接影响中值滤波器的性能。 较小的窗口保留了特征,但会导致噪声抑制的减少。 在较大窗口的情况下,噪声抑制很高,但图像内容保留有限。 随着对标准中值滤波器的研究,提出了许多滤波器,如加权中值滤波器和许多其他高级滤波器。

1、自适应中值滤波器

        在噪声密度不是很大的情况下(根据经验,噪声的出现的概率小于0.2),使用中值滤波的效果不错。但是当噪声出现的概率比较高时,原来的中值滤波算法就不是很有效了。只有增大滤波器窗口尺寸,尽管会使图像变得模糊。

        使用自适应中值滤波器的目的就是,根据预设好的条件,动态地改变中值滤波器的窗口尺寸,以同时兼顾去噪声作用和保护细节的效果。

自适应中值滤波器分为以下两个过程,A和B:

A:

  1. A1 =Gmed - Gmin
  2. A2 = Gmed - Gmax
  3. 如果A1>0 且 A2<0,则跳转到B
  4. 否则,增大窗口的尺寸
  5. 如果增大后的尺寸≤Smax,则重复A
  6. 否则,直接输出Gmed

B:

  1. B1 = Gxy - Gmin
  2. B2 = Gxy - Gmax
  3. 如果B1>0 且 B2<0,则输出Gxy
  4. 否则输出Gmed

       在自适应中值滤波算法中,A步骤实质是判断当前区域的中值点是否是噪声点,通常来说是满足Gmin<Gmed<Gmax这个条件的,此时中值点不是噪声点,跳转到B;考虑一些特殊情况,如果Gmed=Gmin或者Gmed=Gmax,则认为是噪声点,应该扩大窗口尺寸,在一个更大的范围内寻找一个合适的非噪声点,随后再跳转到B,否则输出的中值点是噪声点;

        接下来考虑跳转到B之后的情况:判断中心点的像素值是否是噪声点,原理同上。如果不是噪声点,我们可以保留当前像素点的灰度值;如果是噪声点,则使用中值替代原始灰度值,滤去噪声。

这里考虑在A步骤中,若不满足条件,是否增大窗口尺寸。可以尝试删去噪声点后重新选取中值,减小运算量。如果删去噪声点这一操作过多,说明该窗口内噪声密度较大,此时再考虑扩大窗口。

2、加权中值滤波器

       标准中值滤波窗口内各点对输出的作用是相同的,如果希望强调中间点或中间点附近点的作用,采用加权中值滤波。其基本原理是改变窗口中变量的个数,然后对扩张的数据集求中值:

        特殊地,如果取值W5=2K+1,其他权重均为1,则称为中心加权中值滤波(CWM),其中K为任意非负整数。显然,当K=0时,CWMF就是标准中值滤波;当2K+1>=L*L时(L为滤波器窗口大小),CWM不起作用。具有较大中心权重的 CWM 滤波器在细节保留方面表现更好,但在噪声抑制方面比具有较小中心权重的滤波器更差。

3、三态中值滤波器

       三态中值滤波器(Tri-state median filter,TSM)主要分为两步:噪声检测,三态决策。噪声检测是通过脉冲检测器实现的,它从 SM (standard median filter)和 CWM 滤波器获取输出并将它们与原点或中心像素值进行比较,以做出三态决策。 

        其中,三态决策方式为:

       阈值 T 会影响脉冲检测的性能。

        TSM 滤波的一个的优点是提供了一种自适应决策,可以简单地根据这些滤波器的输出来检测局部噪声。在抑制噪声和保留细节间的得到了较好的平衡。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/253684.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

环信快速集成,以及实际集成中遇到的坑

一.pod集成遇到的问题 1.直接pod 安装 pod EaseUI, :git > https://github.com/easemob/easeui-ios-hyphenate-cocoapods.git 在这个过程中&#xff0c;如果你pod已经安装了sdwebimage&#xff0c;mjrefresh等他自身包含的三方&#xff0c;就需要在你的podfile里面把这个给删…

用NPOI从DataBase到Excel '2

NPOI的C# Helper代码2 1 public static MemoryStream ExportXls(DataTable dt)2 {3 HSSFWorkbook wk new HSSFWorkbook();4 ISheet sheet null;5 6 string sheetName "Sheet1";7 if (!string.Is…

CMOS图像传感器——噪声模型

由于CMOS图像传感噪声的复杂性和不可控性,学者们一直在寻求一种能对其比较精确表的噪声模型。在图像降噪领域,为了降低算法设计的复杂度,人们普遍采用基于信道相关噪声的模型(即加性噪声),但其缺点就是不能精确地表示传感器的噪声。于是Hirakawa提出了一 种精确CMOS传感器…

TCp传输粘包问题

解决TCP网络传输“粘包”问题 当前在网络传输应用中&#xff0c;广泛采用的是TCP/IP通信协议及其标准的socket应用开发编程接口&#xff08;API&#xff09;。TCP/IP传输层有两个并列的协 议&#xff1a;TCP和UDP。其中TCP&#xff08;transport control protocol&#xff0c;传…

AtomicIntegerArray和AtomicIntegerFieldUpdater

2019独角兽企业重金招聘Python工程师标准>>> AtomicIntegerArray 对int数组中元素的操作不是原子性的&#xff0c;所以存在并发操作时&#xff0c;我们应该使用AtomicIntegerArray类来代替int数组。 下面是验证演示代码&#xff1a; public class AtomicIntegerArra…

CMOS图像传感器——高动态范围

动态范围是CMOS 图像传感器中很重要的一项评价指标。动态范围指示了CMOS 图像传感器能够在同一帧图像中同时探测到的最大光强信号和最小光强信号的范围。动态范围通常用dB 形式来表示,其计算公式如下 其中Pmax 和Pmin 分别是最大非饱和光强与最小可探测光强。对于线性…

《Linux内核设计与实现》读书笔记(七)- 中断处理

中断处理一般不是纯软件来实现的&#xff0c;需要硬件的支持。通过对中断的学习有助于更深入的了解系统的一些底层原理&#xff0c;特别是驱动程序的开发。 主要内容&#xff1a; 什么是中断中断类型中断相关函数中断处理机制中断控制方法总结1. 什么是中断 为了提高CPU和外围硬…

入门视频采集与处理(学会分析YUV数据)

标签&#xff1a;分析码流 视频采集 RGB YUV 原创作品&#xff0c;允许转载&#xff0c;转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://ticktick.blog.51cto.com/823160/555791做视频采集与处理&#xff0c;自然少不了要学会分析…

数字后端——时序验证

时序验证则是采用时序分析等方法验证设计是否满足时序收敛&#xff0c;这些时序检验工作包括反向标定(back-annotation)、时序与功耗的检验、时序与信号完整性的检验和当代低功耗纳米先进设计中的“多模式多端角”(MMMC&#xff0c;multi-mode multi-comer)检验。 一、反向标定…

Hadoop系列(三)MapReduce Job的几种提交运行模式

Job执行可以分为本地执行或者集群执行。hadoop集群安装部署在远程centos系统中。使用经典的WordCount代码为例。 1. 本地执行模式&#xff08;本地为MacOS环境&#xff09;&#xff0c;无需启动远程的hadoop集群&#xff0c;本地job会提交给本地执行器LocalJobRunner去执行。 1…

常见视频接口介绍,VGA,YPbPr,DVI,HDMI,DisplayPort

1&#xff0c;VGA(D-SUB) 这种是显示器最常见的&#xff0c;用了很多年&#xff0c;色域空间是RGB&#xff0c;也就是红绿蓝&#xff0c;模拟信号&#xff0c;无音频 插头是15针的&#xff0c;实际所需的最小针数应该是5针&#xff0c;也就是RGB三色信号&#xff0c;水平…

芯片面积估计方法

一、概念 芯片面积的主要涵盖部分分为三部分 IO&#xff1a;芯片的信号及电源pad等Standard cell : 实现芯片的功能逻辑Macro block &#xff1a;第三方IP( PLL DAC POR Memory .etc )芯片面积估计就是通过目标工艺的库信息&#xff0c;设计的spec、以往设计的信息及&#xff…

WordPress开发之WP Custom Register Login插件试用

简介 WP Custom Register Login可以为你的WordPress网站前台增加注册、登录、找回密码的功能&#xff1b;你可以通过简码在任何页面上调用。此外&#xff0c;该插件还支持设置自动通过用户的电子邮件验证新帐户激活&#xff0c;自带算术验证码&#xff0c;有效防护垃圾注册。对…

Java数据类型(基本数据类型)学习

Java数据类型&#xff08;基本数据类型&#xff09;学习 与其他语言一样&#xff0c;Java编程同样存在&#xff0c;比如int a&#xff0c;float b等。在学习变量之前我就必须先了解Java的数据类型啦。 Java的数据类型包括基本数据类型和引用数据类型。具体如下&#xff1a; 各数…

SLVS-EC接口学习

SLVS summarize 一、概述 SLVS-EC高速串行接口技术&#xff0c;在CIS和DSP&#xff08;数字信号处理器&#xff09;之间实现了高帧率的宽带像素数据传输。 SLVS-EC引入了一个优化的数据包格式和控制协议&#xff0c;几乎没有冗余&#xff0c;而且结构简单&#xff0c;仅由两层…

关于Unity中NGUI的Pivot和锚点

Pivot 1.创建一个Sprite类型的Sprite1节点&#xff0c;关联一个图集和一张贴图&#xff0c;用图中的六个按钮调整这个贴图的Pivot点&#xff0c;一共有八个点可以选择 2.再创建一个Sprite类型的Sprite2节点&#xff0c;作为Sprite1节点的子节点&#xff0c;关联一个图集和一张贴…

PrimeTime指南——概述和基本流程

PrimeTime&#xff08;PT&#xff09;是Synopsys的sign-off quality的静态时序分析工具。PrimeTime可以集成于逻辑综合和物理综合的流程&#xff0c;让设计者分析并解决复杂的时序问题&#xff0c;并提高时序收敛的速度。 一、概述 PT最大的两个特点是&#xff1a; 基于时序路…

Android开发——RecyclerView特性以及基本使用方法(二)

0. 前言随着Android的发展&#xff0c;虽然ListView依旧重要&#xff0c;但RecyclerView确实越来越多的被大家使用。但显然并不能说RecyclerView就一定优于ListView&#xff0c;而是应该根据不同的需求选择最合适的进行使用。本篇将介绍我们为什么要使用RecyclerView&#xff…

pycharm中使用scrapy命命

2019独角兽企业重金招聘Python工程师标准>>> 这篇博客写的不错&#xff0c;亲测 https://blog.csdn.net/MAOZEXIJR/article/details/80678133 转载于:https://my.oschina.net/u/2511906/blog/1934993

PrimeTime指南——合理设置约束

完整的STA需要满足以下两点&#xff1a; 完整的设计约束&#xff08;完整并不意味着正确&#xff09;运行所有需要的时序检查可以用以下两条命令来进行完整性的检查&#xff1a; check_timing // 检查是否缺少了约束条件 report_analysis_cove…