图像去噪系统综合实验设计
2021-03-07王倩丁建伟张琪
王倩 丁建伟 张琪
(中国人民公安大学信息网络安全学院 北京市 100038)
《数字图像处理》是电子信息专业的必修课,涵盖的知识面比较广,理论知识复杂,公式繁多,仅通过对理论知识的理解并不能让学生进行有效的学习,所以对于图像去噪的学习要进行理论实践相结合。在图像的获取、噪声添加和图像去噪模块中,每一部分都涉及到了很多的算法和程序,需要同学们进行掌握,单纯的理论知识并不能很好的理解图像去噪。需要学生利用MATLAB GUI 图像去噪实验系统交互平台自己动手操作,仿真图像去噪的具体过程,调节不同的参数,清晰可见的结果让学生更加深入的理解图像去噪的过程。因此,设计一个图像去噪系统的综合实验,通过Matlab GUI 设计创建图形用户界面,在系统中实现图像的获取、添加噪声和图像去噪三个模块,调整不同的参数来完成图像的清晰化处理。
1 实验系统框架
图像去噪系统通过从计算机简单获取图像,可让学生们自己拍摄图像来进行实验,然后对自己拍摄的图像加各种不同的噪声,并
对带噪声的图像进行去噪实验,与原来的清晰图像进行对比,查看实验结果。本实验设计以中值滤波、均值滤波和高斯滤波理论作为实验理论支撑,主要分为三个模块:图像获取、添加噪声和图像去噪。图1 显示了图像去噪系统的实验流程图与框架图。首先,计算机获取同学们自己拍摄好的图像,然后根据自己的需要对图像加入相应噪声,比如椒盐噪声和高斯噪声,再对图像利用中值滤波、均值滤波和高斯滤波进行清晰化处理,对于结果还可进行参数调节,使结果更加清晰化。
图1:图像去噪实验系统的处理框架
2 实验系统详细设计
在图像获取、添加噪声和图像去噪三大模块中,其图像去噪模块涉及三类去噪方法,即中值滤波、均值滤波和高斯滤波,涉及的算法理论性较强、概念抽象且公式繁多。使得初学者对于理论的掌握和理解与课程的实际要求还有一定的差距,为了让学生更加深刻的理解图像去噪模块,我们设计了人机交互的用户界面图像去噪实验系统,是对不同的图像利用三种滤波方式进行去噪清晰化处理,同时可人工调节参数,将实验结果进行可视化展示。如图2所示。
图2:图像去噪系统界面
2.1 图像读取
为了让学生们更好的体验并理解图像去噪,本次图像去噪实验系统图像的获取主要是通过同学们事先拍摄好的图像,并在系统中经过一定的处理。在图像获取时,可以使用的图像格式有“.png”、“.jpeg”、“.jpg”、和“.bmp”。由于当前的拍摄设备越来越先进,拍摄的图像也越来越高清,原图像的尺寸也会变大,直接运行起来会消耗资源,为了让系统可以顺利运行,我们首先会对图像进行预处理。
2.2 增加噪声
图像在产生、传输和记录的过程中,会遇到很多的干扰,这样的话会产生很多的噪声,使图像变得不清晰,对图像进行采集处理,都将受到影响,所以对图像处理的一个重要环节是图像去噪,为了满足对图像后续操作的要求,需要对图像进行清晰化处理。在数字图像的噪声中,主要有椒盐噪声和高斯噪声。我们在本次实验中通过这两种噪声,对图像进行实验,对比得到两种噪声对图像的影响程度。如图3所示。
图3:添加高斯噪声和椒盐噪声
2.3 图像去噪
在我们的日常生活中,外界环境或者设备成像问题都会对数字图像有很大的影响,在数字化和传输过程中使图像带有噪声,不利于对图像后续的处理工作。图像去噪不仅可以对图像进行进一步的处理提供可靠性还会提高人们对视觉信息识别的准确性。图像去噪包含消除噪声和增强图像特征,但这两个目标在一定程度上是互相对立的,因为图像的边界属于高频部分,实验在去除噪声的同时会去掉图像的高频部分,这样的话就会使图像的边界部分变得模糊。评判图像去噪效果的重要指标是所以解决好这一对立关系。本次实验设计是对采集的图像添加高斯噪声和椒盐噪声,对含有噪声的图像进行去噪处理,以下就是对三种去噪方法的详细介绍。
2.3.1 中值滤波
中值滤波是非线性平滑滤波器的一种,具体操作步骤是将数字图像或数字序列中所有的像素值先进行从小到大排序,然后在排序好的像素值中找到中间值作为中心点的像素值,接着与周围的像素值进行比较,将差别较大的像素值改为与中心点像素值比较接近的值,以此来消除孤立的噪声点。中值滤波器既可以保护图像的边缘部分又可以消除图像中的椒盐噪声和高斯噪声,经过处理得到清晰的图像,而且,在实验操作过程中不需要了解图像中的具体特性,可以减少不少麻烦,但是中值滤波对于包含太多细节的图像是不太适用的。
对于二维图像进行中值滤波去噪,如图4 和图5所示,像素点w(x,y)—>g(x,y)的去噪生方法为:我们对图像采用一个3*3 的模板那,模板的中心点a 与图像的中心点w(x,y)重合,其余8 个像素值为w(x-1,y-1)、w(x-1,y)、w(x-1,y+1)、w(x,y-1)、w(x,y+1)、w(x+1,y-1)、、w(x+1,y)、w(x+1,y+1),假设为s1,s2……s9,然后将9 个苏像素进行升序排列,找出中间值定为这一窗口的像素值,公式如下:
图4:中值滤波模板图
图5:中值滤波去噪
2.3.2 均值滤波
均值滤波是典型的滤波器,是线性滤波器的一种,对需要处理的图像建立一个特定的滤波模板,这个模板里面含有除了中心像素的其余8 个像素值,然后对其余8 个像素值求平均值作为当前像素值。即处理当前像素点w(x,y),选择一个模板,该模板由其余8个像素点构成,然后求出所有像素点的平均值,再把该均值赋予当前像素点w(x,y),作为处理后图像在该点上的灰度g(x,y)。公式如下:
其中d 是图像选定模板,n 是选定模板中包含的所有像素的总个数。均值滤波处理方法简单高效,但是在去除噪声的同时会使图像变得模糊,因为图像的边缘和细节属于高频部分,邻域越大去噪能力就会越强,但是图像也会相应变得更加模糊。一般情况下均值滤波对图像进行去噪处理常用3*3 模板,主要模板如图6所示:
图6:均值滤波去噪
2.3.3 高斯滤波
高斯滤波是线性平滑滤波的一种,比较适用于去除高斯噪声,在图像去噪方面应用广泛。一般来说,通过对整个图像的像素点进行求加权平均值就可以得到高斯滤波,即将图像中的所有像素值加权后除以像素点的总个数就可以得到加权平均值。高斯滤波的操作步骤:
(1)用特定的模板去扫描整个图像中的所有像素值;
(2)求出加权平均像素值;
(3)用加权平均像素值代替图像的中心像素点。
高斯滤波在图像处理噪声中用两种方式来实现,即窗口离散化滑窗卷积和傅里叶变换。滑窗实现是最常用的去噪实验方式,当离散化的窗口越来越大时,滑窗的计算量就会越来越大,当出现这种情况时就要考虑用到傅里叶变换的实现方式了。根据高斯函数的形状去选择权值线性平滑滤波器,高斯函数有一维函数和二维函数:
高斯函数的高度由σ 的大小来决定。
高斯滤波是对所有的像素值灰度平均时不同的位置赋予不同的权值,越靠近像素的中心权重值越高,平滑噪声的效果也是越好,可以保留与图像的整体灰度分布特征,是一种各向同性的扩散方式,在去噪的过程中图像的边缘部分和细节部分会变得模糊,大量的信息也会被丢失,这样的滤波比较适合处理均值为零的高斯噪声,对于处理点噪声时,会使大量的高频信息丢失。如图7所示。
图7:高斯滤波去噪
3 实验仿真
本实验系统采用Matlab GUI 设计创建图形用户界面,实现了图像获取、添加噪声和图像去噪等功能,并对结果进行可视化显示。首先,将事先拍摄好的图像保存在电脑上,系统进行图像获取。然后,对图像进行添加噪声处理,可以选择添加椒盐噪声也可添加高斯噪声,添加完噪声的图像会可视化的显示出来。紧接着,将添加好噪声的图像进行去噪操作,可以选择三种模式:中值滤波、均值滤波和高斯滤波。选择好模式就可以在界面上看到最终的去噪结果。另外,也可以根据自己的需要调整算法的参数(去噪模板的值)。
为了提升学生学习的主动性[2],在实验开始前,可以自己用手机拍摄所需要的图像,然后使用该系统处理图像并记录实验结果,通过改变去噪系统中不同参数值,观察并记录实验结果,在这个过程去更加深刻的理解算法的含义和原理。如果系统最后输出的去噪结果并不那么满意,针对这样的实验结果分析讨论其中的原因,并思考解决办法最终得到满意的实验结果。在试验后查阅资料,寻找更好的方法对图像进行去噪,使图像变得更加清晰,提高自主学习能力。
4 结语
从对图像进行去噪的实验结果来对比,中值滤波对高斯噪声去除效果不是很明显,但是对于椒盐噪声去除起到了很好的作用,因为根据中值滤波的原理是将图像中未被噪声污染的点去替代噪声点的值,所以去除效果会明显优化同时图像的轮廓部分会比较清晰。由此可以得出中值滤波对于去除椒盐噪声的效果明显好点。使用图像去噪实验系统利用均值滤波对图像进行去噪的结果来看,对高斯噪声的去除效果比较明显,图像处理后边缘部分模糊也降低了,但对于椒盐噪声来说,图像的整体变得更加模糊了,噪声也没有被完全去除。利用高斯滤波去除图像噪声的实验结果来看,噪声的去除效果与σ 成正比关系,σ 越大噪声去除效果越明显,但是图像也随之变得更加模糊,边缘部分也随着变得模糊,所以在利用高斯滤波去除噪声时要选择一个合适的σ 值。
图像去噪是数字图像课程中的重要内容,本文基于Matlab GUI设计了图像去噪实验系统的可视化交互界面,能够直观、深刻地理解图像去噪的基本理论和具体实现。利用实验系统,培养学生的动手能力和创新性,来激发学生对于数字图像的兴趣,同时提升教学效果。