1 最佳陷波滤波实现

1.1 最佳陷波滤波原理及步骤

最佳陷波滤波的可以良好地处理一个以上的干扰分量或者多个周期性的噪声,相比于其他的滤波方法,最佳陷波滤波可以最小化复原的估计值f ̂(x,y)的局部方差。
最佳陷波滤波可以分为两步:屏蔽干扰的主要成分,然后从被污染的图像中减去该模式的一个可变的加权部分。
首先第一步是提取干扰模式中的主频率分量。空间域中的噪音的相对模式可由下式获得:

H_NP (u,v)的形式需要多方面判断哪些是噪声干扰等。
第二步是从被污染的图像中减去该模式的一个可变的加权部分,其用公式表示为:

其中ω(x,y)即为最佳陷波滤波的权重函数,我们可以通过下面两个公式进行计算。

最小化上面的公式,我们可以得到

得到权重参数后,再带入公式(2)即可达到滤波后的结果。
使用代码实现的话的具体步骤就是1、读取图像。2、进行快速傅里叶变换。3、将频域图像居中。4、通过观察频域图像,确定需要排除的频率成分,制作陷波带通滤波。5、滤波后图像的傅里叶反变换,在空间域显示噪声模式。6、受污染图像减去噪声模式的加权得到结果图,并保存。

1.2 实验结果

1.2.1 加入多个周期噪声的滤波效果

下面,我们考虑加入多个正弦(余弦)噪声的结果。
噪声的形式如下:

原图、原图的频谱图、噪声图以及噪声频谱图如下:

可以看出原图的频谱图在水平和竖直方向有两条很亮的线,在低频区域中,也有中等程度的亮度。加上正弦和余弦噪音后,在较高频率的区域内出现了水平和竖直的亮线,这就代表着周期噪声的频率值。
通过简单的矩形带通(带阻)滤波器,进行频谱中的处理,并得到η(x,y)的图像。

接下来计算权重
1.2.3小节将讨论关于求ω(x,y)的不同方法之间的效率,并通过公式f ̂(x,y)=g(x,y)-ω(x,y)η(x,y)得到最终滤波后的结果。效果如下图(与原噪声图进行对比)

从上图的对比来看,最佳的陷波滤波函数的效果达到了预期。较好的滤去了多个周期的噪声。不过仔细观察的话,还是可以发现在滤波后的图中仍然有一些很细小的周期的噪声,这是由于我加入的噪声比较复杂,在频谱图中有许多的额外的噪声频率,我在进行选择滤波器时仅仅将最明显的8个亮度带进行了滤波,并没有考虑亮度较低的噪声的影响。在另一个角度来说,如果将所有的噪声亮度在频谱中滤去,那么本身就将破坏原图在对应位置的信息,反而对于滤波不利。

1.2.2 加入高斯噪声和多个周期噪声的滤波效果

下面,我们考虑在1.2.1小节的多个周期噪声的基础上再加入高斯噪声的滤波效果。
噪声的形式如下:

原图、原图的频谱图、噪声图以及噪声频谱图如下:



可以看出原图的频谱图在水平和竖直方向有两条很亮的线,在低频区域中,也有中等程度的亮度。加上正弦和余弦噪音以及高斯噪音后,在较高频率的区域内出现了水平和竖直的亮线,这就代表着周期噪声的频率值,同时在整个的频谱图中也叠加了高斯噪声在频谱图中的图像,相比于1.2.1小节的情况更加复杂,无规则。
通过简单的矩形带通(带阻)滤波器、陷波带阻滤波器以及圆形区域内的巴特沃斯型的低通滤波器,进行频谱中的处理,并得到η(x,y)的图像。

接下来计算权重
1.2.3小节将讨论关于求ω(x,y)的不同方法之间的效率,并通过公式f ̂(x,y)=g(x,y)-ω(x,y)η(x,y)得到最终滤波后的结果。效果如下图(与加噪声后的图进行对比)

从上图的对比来看,最佳的陷波滤波函数的效果达到了预期。较好的滤去了高斯以及多个周期(正弦、余弦函数)的噪声。相比较于1.2.1的多周期噪声,在本小节中加入的高斯噪声的特征几乎没有规律性而且在频谱上“遍布”在整个频域图像,基于此,我在1.2.1小节滤波函数的基础上增加了陷波带阻滤波器以及圆形区域内的巴特沃斯型的低通滤波器,将高频中的噪声弱化,因为由原图的频谱图可知,原图的大部分有效信息处于中低频区域,在加入噪声后的频率中,高频的亮度主要由高斯噪声以及多个周期噪声提供。综合以上因素,通过调整参数,最终也达到了比较好的效果。

1.2.3 关于求解权重参数的方法以及效率的问题

权重的计算是一个最佳陷波滤波函数中的最费时间的问题。在这里我也考虑了一下不同方法的权重计算的时间复杂度的问题。
方法1:常规的一步一步计算。处理效果如下:

具体代码如下:

这里的算法就是使用在确定范围内只计算一半的权重,将另一半的权重进行镜像的对称操作。其运行时间为0.283143秒。
方法2:一个区域内的权重一样。处理效果如下:

具体代码如下:

这里的算法是在同一个确定范围内,都使用完全一样的权重。其运行时间为0.099621秒。
通过处理效果来看,虽然两者都有一定的滤波效果,但是方法1的效果明显优于方法2的效果(噪声为多周期的正弦、余弦噪声+高斯噪声),但是方法2的时间要远远少于方法1的时间。

1.2.4 设置最佳陷波滤波器的权重相同的领域大小参数的想法

这次的实验的重要参数之一就是最佳陷波滤波器的权重相同的领域大小,仅仅对于本图来说,领域大小设置在3-10之间是最好的,这个参数太小,不利于更广范围内的噪声的均衡;这个参数太大,也获得不了图像细节处的信息。通过实验发现领域大小设置在3-10之间的滤波效果是最佳的。这个实验中我的领域大小设置的结果是5。

1.2.5 结论与思考

通过实验发现,不论是多个周期的正余弦噪声,还是在此基础上叠加的无规律高斯噪声,都可以使用最佳陷波滤波实现去噪效果。由此可知最佳陷波滤波的可以良好地处理一个以上的干扰分量或者多个周期性的噪声,相比于其他的滤波方法,最佳陷波滤波可以最小化复原的估计值f ̂(x,y)的局部方差,从而达到多噪声情况下的图像去噪。
本次实验,由于对于所加噪声的频域信息滤除的不是很充分,导致最后的图片没有完全的滤除噪声(虽然效果已经达到了比较好的效果)。如果对于噪声的频谱图进行更好的认识以及滤波函数的构造,相信可以得到更好的滤波效果。

《数字图像处理》手动实现最佳陷波滤波相关推荐

  1. Digital Image processing 数字图像处理最佳陷波滤波器设计(频域)

    最佳陷波滤波器(傅里叶变换,matlab实现) 1基本概念 1.1频域滤波步骤小结 在频域中的滤波是简单明了的.它包含如下步骤: (1)给定一幅大小为MN的输入图像f(x,y),选择填充参数P,Q,典 ...

  2. 第5章 Python 数字图像处理(DIP) - 图像复原与重建12 - 空间滤波 - 使用频率域滤波降低周期噪声 - 陷波滤波、最优陷波滤波

    标题 使用频率域滤波降低周期噪声 陷波滤波深入介绍 最优陷波滤波 本章陷波滤波器有部分得出的结果不佳,如果有更好的解决方案,请赐教,不胜感激. 使用频率域滤波降低周期噪声 陷波滤波深入介绍 零相移滤波 ...

  3. 数字视频处理(五)——频率域陷波滤波

    编程实现2-d DFT正变换和反变换 频率域陷波滤波 实验代码   解决方案资源管理器如下: FFT.h #pragma once void compute_W(int n, double* W_re ...

  4. 数字图像处理 第七章小波和多分辨率处理

    文章目录 数字图像处理 第七章小波和多分辨率处理 引言 7.1背景 7.1.1图像金字塔 7.1.2子带编码 7.1.3哈尔变换 7.2小波 7.2.1连续小波 7.2.2离散小波 数字图像处理 第七 ...

  5. 数字图像处理——第七章 小波和多分辨处理

    数字图像处理--第七章 小波和多分辨率处理 文章目录 数字图像处理--第七章 小波和多分辨率处理 写在前面 1 多分辨率处理 1.1 图像金字塔 1.2 多尺度和多分辨率的区别 2 小波 2.1 连续 ...

  6. 数字图像处理——第四章 频率域滤波

    数字图像处理--第4章 频率域滤波 文章目录 数字图像处理--第4章 频率域滤波 频率域 1.傅里叶级数原理 1.1.一维傅里叶变换 1.2.二维傅里叶变换 2.python×傅里叶级数 2.1.傅里 ...

  7. MATLAB高斯陷波滤波图像

    clc,clear,close all % 清理命令区.清理工作区.关闭显示图形 warning off % 消除警告 feature jit off % 加速代码运行 D0 = 4; % 阻止的频率 ...

  8. MATLAB巴特沃斯陷波滤波图像

    clc,clear,close all % 清理命令区.清理工作区.关闭显示图形 warning off % 消除警告 feature jit off % 加速代码运行 D0 = 4; % 阻止的频率 ...

  9. 数字图像处理第四章频率域滤波(低通滤波器、高通滤波器、拉普拉斯滤波、同态滤波器)

    本章节的主要内容具体包括:傅里叶变换的概念及处理的相关知识.频率域卷积概念.三种低通滤波器的原理及代码实现.三种高通滤波器的原理及代码实现.频率域拉普拉斯算法原理及实现.同态滤波器原理及代码实现. 4 ...

最新文章

  1. Java 实现 SSH 协议的客户端登录认证方式
  2. Windows下的Memcache安装
  3. BZOJ.4247.挂饰(背包DP)
  4. 图解使用CURL下载和上传文件
  5. unity3d Vector3.Lerp解析
  6. 2016 -1 -3 导航控制器的学习
  7. 前馈神经网络中的前馈_前馈神经网络在基于趋势的交易中的有效性(1)
  8. 你知道自己执行的是哪个jre吗?
  9. Win系列:VC++编写自定义组件
  10. Android 6.0 Permission权限与安全机制
  11. 计算机基础说课稿十分钟,关于《计算机应用基础》的说课稿一、教材分析(说教材):.pdf...
  12. x-jquery-tmpl代码示例,分页
  13. php如何防止网站被攻击,防止网站被攻击的办法
  14. java struts2_Java struts2面试题及答案
  15. 【光学】基于matlab圆孔菲涅尔衍射【含Matlab源码 522期】
  16. PICkit 3编程器错误
  17. 使用计算机自带的wifi,电脑的自带无线网卡你知道怎么用吗?赶紧学习一下
  18. 全国气象预报业务产品grib2数据格式解析
  19. m1芯片Mac如何玩ios手游
  20. 光谱预处理方法综述及分析策略选择

热门文章

  1. 文心一言打开f12后进入空白页面
  2. 明明是那么好的人,却又是那么伤人的人
  3. “武大樱花绽放视频”动手实操教程--Python
  4. iconfont 新加图标( 在原有项目的图标库中加入新的图标)
  5. chromedriver.exe安装
  6. Windows鼠标右键->新建中添加内容
  7. 微信公众帐号第三方服务平台源码
  8. 机器学习笔记~HDF5 library version mismatched error与ImportError: 'save_model' requires h5py问题解决
  9. 请求成功但是报错: Uncaught (in promise)
  10. 请确保您已登录客户机操作系统。在客户机中装载虚拟CD驱动器,启动终端,使用tar解压...