关键字 |
线性滤波器,非线性滤波器,中值滤波器,混合中值滤波器。 |
介绍 |
由于传输错误、相机传感器中的像素元素故障、内存位置错误以及模数转换中的定时错误,图像经常被脉冲噪声损坏。在大多数应用中,图像去噪是后续图像处理操作的基础。噪声去除的目标是在保留图像细节的同时抑制噪声。人们提出了多种方法来去除脉冲噪声。噪声是对像素值的扰动。传感器或成像过程中会产生噪声。噪音可能会降低视觉解释。噪声可以通过滤波去除。当然,噪音不可能完全消除。去除噪声,重建正确的像素值。 Generic filters such as the mean filters, order statistics filters are used to remove the noise in an image. |
图像过滤器通过操作像素值从原始图像生成新图像。滤波器用于抑制噪声、增强对比度、发现边缘和定位特征。如果我们想要提高图像的质量,我们可以使用图像处理中可用的各种过滤技术。有各种各样的滤波器可以去除图像中的噪声,保留图像细节,提高图像质量。包含图像的常见噪声是脉冲噪声。脉冲噪声是椒盐噪声(图像有随机的黑白点)。均值滤波器不能完美去除脉冲噪声。脉冲噪声可以通过阶数统计滤波器去除。中值滤波器是滤除图像中大部分噪声的滤波器。但有一种先进的滤波器,即混合中值滤波器,它能在去除脉冲噪声的同时保留角点。 |
有任何类型的噪声被添加到输入图像和图像被降级。在图像处理中不应该出现图像退化。为此,我们必须尽可能地去除图像中的噪声。为了消除这种情况,我们使用了各种类型的过滤器。脉冲噪声主要分为两类: |
•盐和胡椒噪声(等高度脉冲)脉冲值表示为0和255。典型的噪声源包括相机内部的灰尘斑点和过热或故障的CCD元件 |
•随机值脉冲噪声(不等高脉冲)脉冲值在0到255之间。 |
混合中值滤波器可以很好地去除脉冲。因此,通过混合中值滤波器,几乎脉冲噪声从图像中去除。 |
![图像](//www.cheescube.com/articles-images/ IJAREEIE-1364-g001.gif) |
线性和非线性滤波器 |
过滤掉不需要的东西。为了去除图像中的噪声,我们可以使用像这样的滤波器 |
•线性图像平滑滤波器:-消除噪声的一种方法是通过表示低通滤波器或平滑操作的掩模卷积原始图像。例如,高斯掩码由高斯函数决定的元素组成。这种卷积使每个像素的值与其相邻像素的值更加和谐。一般来说,平滑滤波器将每个像素设置为其自身及其附近邻居的平均值或加权平均值;高斯滤波器只是一组可能的权重。 |
•非线性图像滤波器:中值滤波器是非线性滤波器的一个例子,如果设计得当,可以很好地保存图像细节。运行中值过滤器:1。考虑图像中的每个像素,2。将相邻像素按强度排序,3。将像素的原始值替换为列表中的中值。 |
A.线性滤波 |
线性滤波是一种滤波,其中输出像素的值是输入像素邻域像素值的线性组合。 |
![图像](//www.cheescube.com/articles-images/ IJAREEIE-1364-e001.gif) |
然而,在一些情况下,人们无法找到一个可接受的线性滤波器,要么是因为噪声是非加性的,要么是非高斯的。例如,如果信号和噪声在频域不重叠,线性滤波器可以去除加性高频噪声。尽管如此,在二维信号处理中,信号可能具有重要的结构化高频成分,就像图像处理中的边缘和小细节一样。在这种情况下,线性低通滤波器会模糊锐利的边缘,并产生不好的结果。应改用非线性滤波器。 |
B.非线性滤波 |
非线性滤波器定位并删除被识别为噪声的数据。该算法是“非线性”的,因为它会查看每个数据点,并判断该数据是噪声还是有效信号。如果这个点是噪声,那么它会被简单地删除,并被基于周围数据点的估计所取代,而不被认为是噪声的部分数据则根本不会被修改。线性滤波器,例如那些用于带通、高通和低通的滤波器,缺乏这样的决策能力,因此修改所有数据。非线性滤波器有时也用于从数据中去除非常短的波长,但高振幅的特征。这种滤波器可以被认为是一种噪声峰值抑制滤波器,但它也可以有效地去除短波长的地质特征。图像恢复是指获取已损坏或有噪声的图像,并估计干净的原始图像的操作。腐败可能以多种形式出现,如运动模糊、噪音。 |
C.中值滤波 |
中值滤波是一种非线性滤波技术,以去除脉冲型噪声的能力而闻名,同时保持锐利的边缘。中值过滤器是一个有序统计过滤器。同时使用均值滤波器去除脉冲噪声。均值过滤器替换像素值的均值,但不保留图像细节。一些细节是用均值过滤器去除的。但是在中值过滤器中,我们不会用相邻像素值的平均值替换像素值,而是用这些值的中值替换像素值。中位数的计算方法是先将周围邻域的所有像素值排序,然后用中间像素值替换所考虑的像素。 |
在中值滤波中,点p的像素值被替换为点p的8邻域像素值的中值。该过滤器的操作可以表示为: |
![图像](//www.cheescube.com/articles-images/ IJAREEIE-1364-e002.gif) |
图示出了计算示例。 |
![图像](//www.cheescube.com/articles-images/ IJAREEIE-1364-g002.gif) |
邻域值:115119120123124125,126,127,150。 |
中位数:124。 |
当脉冲噪声百分比小于0.1%时,中值滤波效果最好。当脉冲噪声量增大时,中值滤波效果不佳。由于边缘被最低限度地退化,如果需要,中值滤波器可以重复应用。中值滤波器倾向于保持信号步长之间的亮度差异,从而使区域边界的模糊最小化。中值滤波器还倾向于保留图像中边界的位置,使这种方法对视觉检查和测量都有用。此外,可以重复应用中值滤波器,直到过滤后的图像没有进一步的变化。中值滤波器的多种应用(具有较小的邻域掩模)可以以图像细节损失为代价提高噪声抑制。随着过滤器的反复使用,巴氏杀菌就会发生。 |
中值滤波器通常不用于空间颗粒抑制,因为颗粒噪声不是脉冲的。但在脉冲噪声的抑制中得到了广泛的应用。中值滤波也用于电视应用中,例如从交错的原始图像生成逐行扫描的图像序列。与卷积滤波(线性滤波)不同,非线性滤波根据非线性定律使用相邻像素。本练习中使用的中值过滤器(秩过滤的特定情况)是这些过滤器的一个经典示例。就像线性滤波器一样,非线性滤波器通过使用邻域来执行。 |
要创建一个嘈杂的图像:- |
加载图像BOATS.BMP。更新路径浏览器。 |
目的是比较线性和非线性滤波用于降低原始图像中的噪声的效果。噪声中的Matlab函数允许您向图像添加不同的经典噪声。使用这个函数来计算BOATS的噪声图像(使用“盐和胡椒”噪声)。 |
线性滤波的应用:- |
我们想要减少图像中的噪声。让我们考虑一个(3 * 3)平均滤波器来降低噪声。其卷积核为: |
![图像](//www.cheescube.com/articles-images/ IJAREEIE-1364-e003.gif) |
![图像](//www.cheescube.com/articles-images/ IJAREEIE-1364-g003.gif) |
“椒盐”噪声由随机像素设置为黑色或白色(灰度范围的极端值)组成。这种脉冲噪声可以在图像数字化过程中产生,也可以在图像传输过程中产生。 |
2:以下是执行3 × 3平均过滤的命令: |
平均滤波器 |
N = ones (3)/9;%卷积核 |
If1 = imfilter (IB, N); |
图(2) |
图像(i) |
标题(“用3 × 3平均滤波器过滤的噪声图像”) |
v = 0:1/255:1;Colormap ([v' v' v']);% LUT用于显示灰度级别 |
下面是显示的图像: |
![图像](//www.cheescube.com/articles-images/ IJAREEIE-1364-g004.gif) |
“椒盐”噪音并没有显著降低。我们仍然可以很容易地分辨出有噪声的像素。每个输出像素值是其邻近像素的所有值的平均值,因此,当一个噪声像素包含在邻域中;它的极值(0和255)用于计算平均值: |
![图像](//www.cheescube.com/articles-images/ IJAREEIE-1364-g005.gif) |
该图像的所有像素都设置为亮度值8,只有一个噪声像素的亮度值为255。被包围的像素(以及所有邻域包含值为255的像素)的输出值等于:(8*8+255)/9 =35。因此,该像素的输出值不能代表它的邻域,噪声没有得到足够的降低。这种线性滤波方法不适用于降低脉冲噪声 |
3:以下是执行中值过滤的命令: |
中值滤波 |
If2 = medfilt2 (IB, [3 3]);% 3 × 3中值滤波 |
图(3) |
图像(如果) |
标题('由3 × 3中值滤波器过滤的噪声图像') |
v = 0:1/255:1;Colormap ([v' v' v']);% LUT用于显示灰度级别 |
这是可视化的图像: |
![图像](//www.cheescube.com/articles-images/ IJAREEIE-1364-g006.gif) |
“椒盐”噪音显著降低。这种中值滤波在去除噪声方面做得更好,边缘模糊程度更低。过滤器对像素的相邻值进行排序;输出值是所有这些排序值的中值(非线性运算符): |
![图像](//www.cheescube.com/articles-images/ IJAREEIE-1364-g007.gif) |
让我们考虑前面的例子:像素值按递增顺序排序:0、8、8、8、8、8、8、8和255。中位数为8。使用这种非线性滤波,极端亮度值0和255对输出值没有影响。中值滤波可以有效地降低脉冲噪声。 |
D.混合中值滤波器 |
这是另一种类型的非滤波器和中值滤波器的高级版本。混合中值滤波器极大地提高了脉冲噪声的去除效果。这里可以计算X, +形状邻居的中值,并将这些中值与原始中值相加。 |
混合中值滤波器 |
混合中值滤波器是一种非线性类的加窗滤波器,能在保留边缘的同时很容易去除脉冲噪声。与基本中值滤波器相比,混合中值滤波器具有更好的保角特性。滤波器的基本思想是对信号(图像)的任何元素应用中值技术,多次改变窗口形状,然后对得到的中值取中值。混合中值滤波器有两个中值:在像素中心的“X”和“+”中。输出是这两个中值和原始像素值的中值。 |
动机:保护角落 |
B = hmf (A, n)使用n × n方框对矩阵A进行混合中值滤波。混合中值滤波器比平方核(邻居像素)中值滤波器更好地保护边缘,因为它是一个三步排序操作:来自不同空间方向的数据分别排序。计算三个中值:MR为水平和垂直R像素的中值,MD为对角线D像素的中值。过滤后的值为两个中值的中值,即中心像素C: median ([MR, MD, C])。 |
以n = 5为例: |
![图像](//www.cheescube.com/articles-images/ IJAREEIE-1364-g008.gif) |
Y =中位数{MR, MD, C} |
混合中值滤波算法: |
1.在元素上放置一个交叉窗口; |
2.拾取元素; |
3.顺序元素; |
4.取中间的元素; |
5.在元素上方放置+-window; |
6.拾取元素; |
7.顺序元素; |
8.取中间的元素; |
9.拾取点4,8和元素本身的结果; |
10.顺序元素; |
11.取中间的元素。 |
对于所有的窗口过滤器都有一些问题。这就是边处理。如果你把窗口放在一个元素的边缘,窗口的某些部分将是空的。为了填补空白,信号应该延伸。对于混合中值滤波器,对图像进行对称扩展是一种很好的方法。换句话说,我们在图像的顶部和底部添加线条,并在图像的左侧和右侧添加列。混合中值滤波器具有保留角和其他被3 × 3和5 × 5中值滤波器所消除的特征的优点。随着反复应用,混合中值滤波器不会过度平滑图像细节(传统的中值滤波器),并且通常在过滤后的图像中提供优越的视觉质量。混合中值滤波器的一个优点是由于其自适应特性,这使得滤波器在小空间范围的快速移动图像信息上比标准中值滤波器表现得更好。 |
仿真例子 |
该示例表明,如果有任何噪声被添加到原始大米图像。然后图像发生了什么。图像是如何过滤的?线性滤波器(平均滤波器)过滤图像,但平滑的图像。中值滤波器是一种非线性滤波器,具有良好的去噪特性。混合中值滤波器具有比中值滤波器更好的特性 |
![图像](//www.cheescube.com/articles-images/ IJAREEIE-1364-g009.gif) |
结论 |
本文的主要目的是利用混合中值滤波器去除图像中的脉冲噪声。该方法能有效地去除脉冲噪声,平滑除脉冲噪声外的其他噪声。混合中值滤波器在图像处理中具有一定的优势。对于重复应用,混合中值滤波器不会过度平滑图像细节,边缘处理是可能的,混合中值滤波器保持边缘比中值滤波器更好,保持亮度差异。HMF在IP方面也有一些缺点。它只对去除脉冲噪声有帮助;它是非线性滤波器,计算成本高。为了避免这些缺点,我们发现了新的过滤器。 |
参考文献 |
- L. R. Rabiner, M. R. Sambur,和C. E. Schmidt, â ' “非线性平滑算法在语音处理中的应用,â ' ”ZEEE反式。Acoust。,Speech, Signal Processing,卷ASSP-23,第552-557页,1975年12月。
- N。年代。Jayant, â '  ' '基于平均值和中值的平滑技术,用于提高传输存在的数字语音质量错误,一个¢IEEE反式。Commun。COM-24卷,第1043-1045页,1976年9月。
- W. K. Pratt, â '  '中值滤波,â '  ',在半年度报告,图像处理研究所,南加州大学,1975年9月,pp。
- s G。Tyan, â '  '运行定点mediansâ '  '(未发表报告),副电工。电物理学,纽约理工学院,布鲁克林,纽约,1977。
- B. Justusson, â '  '信号和图像中的中值滤波器的统计特性processingâ '  '(未发表报告),数学。瑞典皇家理工学院,斯德哥尔摩,1977年12月。
- 冈萨雷斯和伍兹,数字图像处理,第二版,普伦蒂斯大厅,2002年
|