基于MATLAB 二维中值滤波的图像复原
2021-03-25肖锦龙
肖锦龙
(东莞理工学校,东莞523808)
0 引言
在图像在采集、传送和转换过程中,都会产生各种各样的噪声,从而引起图像模糊、失真。在实际应用中需要清晰、高质量的图像,这就需要进行图像复原[1]。
1 图像复原技术
图像复原在数字图像处理中有非常重要的研究意义,图像复原最基本的任务有两点:一是去除图像中噪声,二是不丢失图像中的细节信息。图像复原的目的就是为了抑制噪声,改善图像的质量,尽可能还原图像的本来面目[2]。
图像复原需要知道图像退化的机制和过程等先验知识,再根据这些先验知识寻找一种相应的逆向处理的方法,从而恢复图像[3]。
假定成像系统是线性位移不变系统,则获取的图像g(x,y)可以表示为:
其中,f(x,y)表示理想的、没有退化的图像,g(x,y)是退化后观察到的图像,n(x,y)为加性噪声。图像复原过程可以描述为设计一个复原的滤波器,把已经降质图像g(x,y),通过图像复原滤波器处理,最后得到最大程度的接近真实图像f(x,y)。
2 图像噪声的介绍
数字图像的噪声主要来自图像的采集和传输过程。图像噪声按照噪声和信号之间的关系可以分为加性噪声和乘性噪声两种[4]。假设图像的像素值为F(x,y) ,噪声信号为N(x,y) 。如果混合叠加信号为F(x,y)+N(x,y)的形式,则这种噪声为加性噪声。如果叠加后信号为F(x,y)×[1+N(x,y)] 的形式,则这种噪声为乘性噪声。噪声是不可预测的,只能用概率统计方法来认识的随机误差[5]。
2.1 高斯噪声
高斯噪声一种源于电子电路和由低照明度或高温带来的传感器噪声。高斯噪声也称为正态噪声,是自然界中最常见的噪声[6],它的概率密度函数为:
在式(2)中,用随机变量z 表示灰度值,μ为该噪声的期望值,σ为噪声的标准差,即ρ2为噪声的方差。
2.2 椒盐噪声
椒盐噪声是指图像中出现的噪声只有两种灰度值,假设这两种灰度分别是a和b,那么这两种灰度值出现的概率分别是Pa和Pb[7]。该噪声的均值和方差可以分别表示为式(3)和式(4):
椒盐噪声又称为双脉冲噪声,其概率密度函数如式(5)所示:
一般情况下,脉冲噪声是数字化所允许的最大值或最小值,负脉冲以黑点(胡椒点)出现在图像中,正脉冲以白点(盐点)出现在图像中,因此称为椒盐噪声[8]。
3 二维中值滤波
中值滤波是一种顺序统计滤波,中值滤波能够很好地保留图像的边缘[9]。假设在坐标点(x,y),大小为m×n的窗口可以表示为Sxy,中值滤波是选取窗口Sxy中被干扰图像g(x,y)的中值,作为坐标点(x,y)的输出,可以用式(6)表示:
3.1 二维中值滤波函数
在MATLAB 软件中,可以用函数medfilt2()进行图像的二维中值滤波,该函数的调用格式为:K=medfilt2(J,[m,n])。当对图像J 进行中值滤波时,采用的窗口大小为m×n,当m×n为3×3 时,可以直接表示为K=medfilt2(J)。
3.2 MATLAB中算法的实现
在MATLAB 中用二维中值滤波进行图像复原算法的思想可以描述为以下三步:第一,添加噪声。通过imread()函数读入原始图像,用imnoise()分别对原图添加密度为0.05 的椒盐噪声和高斯噪声;第二,滤波复原。通过二维中值滤波函数medfilt2()对添加了噪声的图片分别进行模板为3×3、5×5、7×7、9×9 的滤波复原。第三,图像评价。用corr2()函数分别计算滤波后的图像与原始图像作对比的相关系数,通过相关系数对图像的作客观评价,最后显示原始图像、添加噪声图像和滤波后的图像,通过主观观察图像的细节进行主观评价。
在MATLAB 中进行中值滤波仿真实验的主要代码:
3.3 结果的分析
在MATLAB 中分别给原始图像添加密度为0.05的椒盐噪声和高斯噪声,再进行中值滤波实验后,从实验结果中,通过客观的图像相似度相关系数和主观图像观察对比两方面进行图像滤波效果分析。滤波后图像与原始图像的相关系数如表1、表2 所示,在不同模板下进行滤波,相似度都超过0.95,与原图对比相似度高,复原效果都很好,而3×3 模板下进行的滤波效果更优于其他模板。中值滤波对图像中椒盐噪声的滤波效果要比对高斯噪声滤波效果要好。
表1 与原图的相关系数表(椒盐噪声)
表2 与原图的相关系数表(高斯噪声)
通过观察图1、图2 进行图像滤波效果的主观评价,图1(a)和图2(a)为原图,图1(b)、图2(b)分别为添加了密度为0.05 的椒盐噪声和高斯噪声图,图1(c)-(f)和图2(c)-(f)分别为不同模板下中值滤波后的图像,与图1(b)、图2(b)相比较,图1(c)-(f)和图2(c)-(f)明显能滤掉添加到的椒盐噪声和高斯噪声,再与图1(a)和图2(a)原图比较,图1(c)-(f)和图2(c)-(f)与原图(a)的相似度都很高,但图1(c)、图2(c)的细节会和原图(a)更相似,复原效果更好。
图1 添加椒盐噪声后滤波的比较图
图2 添加高斯滤波后比较图
从实验结果中可以得到中值滤波能有效地滤去图像的中椒盐噪声和高斯噪声,有效的复原图像,但滤波效果去除椒盐噪声要比去除高斯噪声要优,3×3 模板下的滤波效果图像的细节保留得更好,优于其他模板。
4 结语
本文通过对二维中值滤波的算法进行研究和利用MATLAB 仿真实现得出以下结论:从复原图像质量来看,二维中值滤波能有效去除图像中添加的椒盐和高斯噪声,复原的图像和原图相似相关系数均超过0.96以上,图像细节保留的比较好;从噪声滤波效果来看,二维中值滤波去除同等密度下的椒盐噪声要优于高斯噪声。因为本文没有对其他更多的噪声进行实验研究,只能得到中值滤波能有效去除椒盐噪声和高斯噪声的结论。