基于DSP的图像去噪实现设计说明_第1页
基于DSP的图像去噪实现设计说明_第2页
基于DSP的图像去噪实现设计说明_第3页
基于DSP的图像去噪实现设计说明_第4页
基于DSP的图像去噪实现设计说明_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 / 35目录目录摘摘 要要 I IABSTRACTABSTRACTIIII引言引言 IIII1 1绪论绪论 2 21.1数字图像基础 21.1.1数字图像 21.1.2数字图像灰度化 31.2噪声的分类与特点 31.2.1椒盐噪声 41.2.2高斯噪声 41.2.3其他各类噪声 51.2.4图像系统噪声的特点 61.3灰度图像噪声的清除 71.3.1邻域平均去噪法 71.3.2频域去噪方法 81.3.3几种新型的滤波方法 81.4图像去噪效果的评价方法 91.5本章小结 102 2中值滤波中值滤波 11112.1标准中值滤波 112.1.1中值滤波的原理 112.1.2中值滤波的主要特性 1

2、32.2中值滤波的改进算法 142.2.1快速排序算法 142.2.2极值中值滤波器 152.2.3加权中值滤波器 162.2.4多级中值滤波器 162.3本章小结 173 3算法与算法与 DSPDSP 仿真仿真 18183.1算法 183.1.1算法思想 183.1.2 C 代码实现 193.2仿真过程 213.2.1CCS2.2 使用 213.2.2去噪仿真结果 243.2.3结论 303.3本章小结 30致致 3131 I / 35参考文献参考文献 3232 / 35摘要摘要近年来,图像处理相关技术取得了飞速的发展,并在人们生活的各个领域得到广泛应用,如摄影与印刷、卫星图像处理、医学图像

3、处理、人脸识别、生物特征识别、显微图像处理等。数字图像处理的主要目的是通过对图像的加工,提高图像的视觉感受质量,从中获取有用的信息。然而数字图像在产生、传输、处理、储存的过程中,不可避免地受到各类噪声的干扰导致信息难以获取,这就直接影响后期处理的效果。因此在对图像进行后续操作前必须进行提前加工处理,而图像去噪就是一种重要的方法之一。 图像噪声有很多种类,本文主要研究椒盐噪声和高斯噪声。中值滤波是一种非线性数字滤波器技术,中值滤波的基本原理是把数字图像或数字序列中一点的值用该点的一个邻域中各点值的中值代替,从而消除孤立的噪声点。本文以灰度图像去噪为研究课题,通过使用 DSP 平台对图像分别加入椒

4、盐噪声和高斯噪声,再进行中值滤波处理对比仿真结果,得出中值滤波能有效去除椒盐噪声的结论。也提出了一些中值滤波的优化改进算法思想。关键词: 图像去噪;DSP;椒盐噪声;高斯噪声;中值滤波 I / 35ABSTRACTABSTRACTIn recent years, image processing related technology has made rapid development, and it has been widely used in various fields in peoples lives such as photography and printing, satelli

5、te image processing, medical image processing, face recognition, biometric identification, microscopic image processing, etc. The main purpose of digital image processing is improve the perception of the quality of the image by the image processing, to obtain useful information.However, the process

6、of digital image generation, transmission, processing, storage, inevitably affected by various types of noise interference lead to information difficult to obtain, which directly affects the post-processing effects. Therefore, in subsequent operations we must carried out in advance before the image

7、processing, and image denoising is an important methods.There are many types of image noise, this paper studies salt and pepper noise and Gaussian noise. Median filter is a nonlinear digital filter technique, median filtering of the basic principle is the sequence of digital images or digital value

8、is a point in a neighborhood of the point values of each point value to replace, thus eliminating isolated noise points.In this paper, gray image denoising as the research, through the useness of DSP platforms, salt and pepper noise and Gaussian noise were added to the image, and then comparing medi

9、an filtering process simulation results we can obtained the conclusion that median filter can effectively remove salt and pepper noise. We also made some improvements median filtering optimization algorithm ideas.Keywords: denoising; DSP; salt and pepper noise; median filtering; Gaussian noise II /

10、35 0 / 35引言引言随着多媒体技术和网络技术的快速发展,数字图像处理已经广泛应用到了人类社会生活的各个方面,如:遥感,工业检测,医学,气象,通信,侦查,智能机器人等,对国民经济的作用也越来越大。其处理的精度高,实现多种功能的、高度复杂的运算求解非常灵活方便。在其短短的历史中,它成功的应用于几乎所有与成像有关的领域,并正发挥相当重要的作用。现实中的数字图像在获取、传输、接收和处理过程中,因受到一定的外部与部干扰,从而被噪声影响,导致图像质量的退化,这样的图像称为噪声图像。但对图像进行边缘检测、图像分割、特征识别等处理工作时,都要求图像有较高的质量,因此需要先滤除图像中的噪声以提高图像质量。

11、减少数字图像中噪声的过程称为图像去噪。近几年来,图像去噪技术有了迅速的发展,诸多新的去噪处理方案不断涌现。目前,常用的图像噪声有椒盐噪声、高斯噪声、白噪声等,去噪方法有中值滤波、小波变换、均值滤波、同态滤波、频域滤波等等,本文也会对各类去噪方法简单介绍并提出几种中值滤波的优化算法。重点为中值滤波算法、代码实现以与其对椒盐高斯噪声的处理效果的仿真实验。 1 / 351 1 绪论绪论1.11.1数字图像基础数字图像基础1.1.11.1.1数字图像数字图像在人们的视界里,图像分为彩色和黑白。对于彩色图像,按照色度学理论:任何颜色都可由红、绿、蓝三种基本颜色按不同的比例混合得到。这样,自然界的图像可以

12、用基于位置坐标的三维函数来表示,即:利用 f 表示空间坐标点的颜色函数,fred、fgreen、fblue 分别表示该点颜色的红、绿、蓝三种原色的分量值。由于平面上每一点仅包括两个坐标(x, y),所以我们可以将空间三维函数转化为二维函数。对于黑白图像,就比彩色图像简单多了,只需要用表示该点图像的灰度(强度)即可。我们所说的数字图像是相对于模拟图像而言的。是将图像按空间坐标和明暗程度的连续性分类得到的:(1)模拟图像指空间坐标和明暗程度都是连续变化的图像,计算机无法对其直接处理。即是空间的连续函数,为连续的空间,即在连续空间,每一个点都有一个精确的值与之相对应。(2)数字图像是一种空间坐标和灰

13、度均不连续的、用离散的数字表示的图像,这样的图像才能被计算机处理。由于计算机仅能处理二进制数据,如果要用计算机来处理图像的话,必须把连续的图像函数转化为离散的数据集。经过离散化处理,原来连续的模拟图像就变成了由许多像素依据一定规则形成的数字图像来近似表示,一般用一个矩阵表示那些离散的数据,每一个离散的矩阵元素表示一个像素的颜色值。把像素依据不同的方式组织和存储,就形成了不同的图像格式,把图像数据存成文件就会得到相应的图像文件。由于是数字图像,那么对于一幅黑白图像来说,只要把各个像素赋值为 0 或 1即可,我们用 1 表示白色,用 0 表示黑色,于是我们把一幅黑白图像称为二值图像,彩色图像或其它

14、图像转化为黑白图像的过程叫做二值化。对于一幅彩色图像,每个像素我们都需要用 3 个取值围为之间的整数值来分别表示红、绿、蓝三原色分量,且这些分量都是用整型数据表示,称之为像素颜色的 R,G, B 值。表示一个取值围为的整型数据,需要占用 8bit 空间,三个 R, G, B 这样的整型数据就需要用24bit 来存储,所以,我们常把一幅真彩色位图称为 24 位位图。 2 / 35在对数字图像进行处理的过程中,一般先把 24 位的位图转化为灰度图像,然后再进行相关的处理。所谓灰度图像,就是把图像矩阵中每个像素的值用 1 个 的整型数据表示。如果彩色图像的 R, G, B 三个分量相等就成为灰度图像

15、。灰度图中的每个像素只需要占有 8bit 空间,所以,灰度图像通常也被称为 8 位位图。 1.1.21.1.2数字图像灰度化数字图像灰度化对数字图像进行灰度化处理,主要方法有以下三种: 1、最大值法:使 R、G、B 的值等于三个值中最大的一个,即: (1-1) 最大值法会使灰度图像亮度变高。 2、平均值法:使 R、G、B 的值等于三个的平均值,即: (1-2)平均值法会形成比较柔和的灰度图像。 3、加权平均值法:根据重要性或敏感度等其他指标的要求给 R,G,B 设定不同的权值,并使 R、G、B 值加权,即: 其中,, ,分别为 R, G, B 的权值。, ,取不同的值,加权平均值法将形成不同的

16、灰度图像。人眼对绿色的敏感度最高,对红色的敏感度次之,对蓝色的敏感度最低,因此让可以得到合理的灰度图像。实验和理论推导都表明,当, ,时,即: (1-3)此时,R, G, B, 的取值就是该像素的亮度值,此时得到的灰度图像最合理。 1.21.2噪声的分类与特点噪声的分类与特点噪声可以理解为“妨碍人们感觉器官对所接收的信源信息理解的因素” 。噪声通常是一种随机信号,不可能预测,因此它只能用概率统计的方法来分析。使用某种方法从被摄体或信息源把信息传递给受看者时,如果通过视觉接收平面二维亮度分布,那么对这种接收起干扰作用的亮度分布就叫图像噪声。噪声存在于图像的获取、传输和处理的各个环节。因此,去噪己

17、经成为图像处理中极其必要的步骤之一,同时也是图像处理领域中一个重点研究的课题。本节先对噪声的来源和性质进行简要的介绍。 黑白图满足二维亮度分布函数,则噪声就是对亮度的干扰,用来表示。因为噪声具有随机性,所以我们需要用随机过程来描述,也就是说要求知道噪声的分布函 3 / 35数和密度函数。然而,在许多情况下,这些函数难以确定和描述,甚至根本无法得到,所以我们只能用统计方法来描述噪声,例如均值、方差、自相关函数等。 描述噪声的总功率: (1-4)噪声的交流功率利用方差描述: (1-5)噪声的直流功率利用均值的平方表示: (1-6)一般在图像处理技术中常见的噪声有如下几种:白噪声、椒盐噪声、脉冲噪声

18、、量化噪声等,我们重点介绍高斯噪声和椒盐噪声。 1.2.11.2.1椒盐噪声椒盐噪声椒盐噪声(Pepper Noise) :是一种脉冲噪声,它在图像中产生黑色点和白色点。这种噪声在图像中表现非常明显,对图像具有严重的破坏作用,极妨碍了图像分割、边缘检测、特征提取等后续处理。它的噪声概率密度函数可表示为: (1-7)因为脉冲信号的强度通常比图像信号强度要大的多,因此脉冲噪声可以用灰度极限值(黑或白)来量化。我们一般假设 a 和 b 作为所取图像允许的最大灰度和最小灰度值,即“饱和”值。如果, 灰度 b 在图像中表示为白点,而灰度 a 在图像中表示为黑点。如果或等于 0,这时脉冲噪声被称之为单极性

19、噪声。如果和都不等于 0,但两者大小接近,这时脉冲噪声就像椒盐随机洒在图像上一样,因此,我们把双极性的脉冲噪声也叫做椒盐噪声。 1.2.21.2.2高斯噪声高斯噪声所谓高斯噪声是指它的概率密度函数服从高斯分布(即正态分布)的一类噪声。高斯分布,也称正态分布,又称常态分布,记为,其中 , 为分布的参数,分别为高斯分布的期望和方差。当有确定值时,p(x)也就确定了,特别当 =0,=1 时,X的分布为标准正态分布。高斯随机变量 z 的 PDF 如下式: (1-8)其中 z 表示灰度值, 表示 z 的平均值或期望值,表示 z 的标准差。标准差的平方称为 z 的方差。当 z 服从式(1-8)的分布时候,

20、其值有 70落在,且有 95落在围。 4 / 351.2.31.2.3其他各类噪声其他各类噪声1. 均匀噪声分布均匀噪声的概率密度在较宽的频率围有固定的频谱分布,均匀噪声分布的概率密度,由下式给出:(1-9)概率密度函数的期望值和方差可由下式给出:(1-10)2. 瑞利噪声瑞利噪声是指频谱服从瑞利分布的噪声,瑞利分布(Rayleigh Distribution)是指一个均值为(0.5*2)(0.5),方差为(2-0.5*)*2 的平稳窄带高斯过程,其包络的一维分布是瑞利分布。当一个随机二维向量的两个分量呈独立的、有着一样的方差的正态分布时,这个向量的模呈瑞利分布。两个正交高斯噪声信号之和的包络

21、服从瑞利分布。它的概率密度函数由下式给出:(1-11)概率密度的均值和方差由下式给出:(1-12)3. 伽马(爱尔兰)噪声伽马噪声的 PDF 如下式:(1-13)其中,a0,b 为正整数且“!”表示阶乘。其密度的均值和方差由下式给出:(1-14)4.指数分布噪声指数噪声的 PDF 可由下式给出: (1-15)其中 a0。概率密度函数的期望值和方差是: (1-16) 5 / 351.2.41.2.4图像系统噪声的特点图像系统噪声的特点1噪声的扫描变换 在对图像处理时,首先先把二维图像信号扫描变换成一维的电信号,然后再进行处理,处理完成后,还要将一维电信号还原成二维图像信号。在进行这种图像转换的同

22、时,噪声也同样会参与一样的变换。 2噪声的迭加性 在串联类型的图像传输系统中,如果各子系统窜入的噪声是同种噪声,就会进行功率相加,导致信噪比不断下降。如果不是同种形式噪声时就应区别对待,此外还要考虑视觉检出性征对视觉效果的影响。但是因为视觉检出性征中的许多问题还没有被人类研究透彻,所以我们也就只能进行一些主观的评价体验。例如空间频率性征不同的噪声迭加时我们要考虑到视觉空间频谱带通的特性。如果是时间性征不同的噪声迭加,则要考虑到视觉滞留、闪烁的性征等。 3噪声与图像的相关性 如果使用的是光导摄象管的摄象机,可以认为,噪声幅度和信号幅度无关。但如果使用的是超正析摄象机,噪声幅度与信号幅度关联。此外

23、在数字图像处理技术中,量化噪声一定存在,并且和图像相位有关联。 1.31.3灰度图像噪声的清除灰度图像噪声的清除图像去噪通常是根据不同图像的特性和不同目标而采用不同的方法进行处理。对某一种图像很理想的去噪处理方法对另一种图像则不一定可行,也可以说某种去噪方法在处理某一类型图像效果理想,但处理其他类型的图像时却收不到好的效果。这是因为任何一种处理方法都要在满足其限定条件的前提下进行才会收到好的效果,在没有满足其限定条件时,效果就就会极降低。这也说明,由于图像本身具有的随机性与特殊性,我们在图像去噪的方法选择上要灵活应变。图像噪声在图像上往往表现为灰度值是离散的,并且它们在图像上的分布是随机的。我

24、们可以采用多种方法去除噪声,主要有空域处理、频域滤波和统计滤波,但它们各有长处。虽然频域滤波与统计滤波精度相对较高,但是运算量巨大,并且过程繁杂;空域处理方法虽然精度相对比较低,但它运算简单方便。邻域平均法、中值滤波和空域低通滤波法就是比较常用的相对简单的去除噪声方法。 6 / 351.3.11.3.1邻域平均去噪法邻域平均去噪法对于给出的 NN 大小的图像,定义一个邻域 S,选择一个点,取它的领域 S 的所有像素点的平均灰度值作为该点的灰度值,以此类推,对整幅图像中每个像素点做类似的处理,就得到新的图像。其过程可表示为: (1-17)式中,s 表示所取像素邻域 S 中像素的坐标围,M 为邻域

25、 S 中容纳像素的个数。邻域平均去噪法特点是:去噪效果效果明显,容易实现;缺点是会导致边缘模糊。所取邻域 S 越大,去噪效果越显著,但边缘越模糊。为此,我们可以在进行邻域平均时需要设定一个阈值,以此来减轻边缘模糊,即: (1-18)T 为一个预先设定的阈值,并且非负。当某点灰度值与其邻域灰度均值之差小于预定的阈值 T 时,就保留该点原有的灰度值,这种方法在一定程度上可以减小边缘的模糊程度。 1.3.21.3.2频域去噪方法频域去噪方法频域去噪技术的数学基础是卷积理论。假设线性不变算子与函数进行卷积后的结果是) (1-19) 据卷积定理在频域有: (1-20)其中 G(u,v)、H(u,v)、F

26、(u,v)分别是 g(x,y)、h(x,y)、f(x,y)的 X 类型变换(Fourier 变换等)。在对特定的图像信号进行处理应用中,f(x,y)是给定的,我们主要确定 H(u,v),于是由具有所需特性的 g(x,y)我们就可以算出 G(u,v),然后再通过 X 反变换得到 g(x,y),如下式 (1-21)在频域中进行图像去噪,可以分成以下三个主要步骤: 对需要去噪的图像进行 X 变换计算; 变换后的结果与一个函数(根据需要设计)相乘; 7 / 35将结果进行反 X 变换操作就可以得到图像的去噪结果。 1.3.31.3.3几种新型的滤波方法几种新型的滤波方法近些年来,随着数学各分支在理论和

27、应用上的逐步深入,使得很多数学理论在图像去噪技术应用中取得了很大的进展,产生了不少的新算法。新的滤波方法主要有: (1)数学形态滤波方法 自从 J.Serra 的专著Image Analysis and Mathematical Morphology出版,提出数学形态学以来,已经引起了世界各国学者的兴趣。数学形态学的数学基础和所用语言是集合论。使用数学形态学可以简化图像数据,保持它们基本的形状特征,并且可以除去不相干的结构。 数学形态学的算法由于具有天然的并行实现的结构,因此实现了形态学分析和处理算法的并行,极大提高了图像分析和处理的速度。 数学形态学是由一组形态学的代数运算子组成的,它的基本

28、运算有 4 个:膨胀(或扩) 、腐蚀(或侵蚀) 、开启和闭合,它们在二值图像和灰度图像中各有特点。在这些基本运算的基础上,还可以推导和组合成各种数学形态学实用算法,使用它们可以进行图像分析与处理,包括图像分割、特征抽取、边界检测、图像滤波、图像增强和恢复等。数学形态学方法利用一个称作结构元素的“探针”收集图像的信息,当探针在图像中不断移动时,便可考察图像各个部分之间的相互关系,从而了解图像的结构特征。目前,有关数学形态学的技术和应用正在不断地研究深入。 (2)小波滤波方法 小波变换是傅里叶变换的发展,是从 20 世纪 80 年代中期逐渐发展起来的一个重要的数学分支。作为一个非常重要的数学分析工

29、具,在数字图像去噪领域获得广泛的使用。由于小波去噪方法具有以下四个特点,所以可以取得很好的效果:一是低熵性;二是多分辨率性质,三是去相关性,四是选基灵活性。 小波方法目前可以分为三类: 第一种是由 Mallat 提出的基于小波变换模极大值原理的去噪方法。二是基于小波变换域相邻尺度间系数相关性的去噪方法。三是小波阈值去噪方法,由 Donoho 等人提出。其中小波阈值去噪法算法简单、效果好,因此使用广泛。 (3)基于模糊数学的滤波方法 近年来,随着图像处理数据的持续不断增加,同时对实时性要求的日益提高,但伴随着模糊理论的发展与人们对事物模糊性认识的深入,模糊理论在图像去噪方面的应用日益增多。在图像

30、去噪过程中采用模糊手段,可以在减少信息的输入量、 8 / 35处理量和存储量的同时能实时且令人满意地去除噪声。总体上而言,通过对图像信息模糊性的理解,利用模糊集来更为精确的描述图像信息,这时就需要将传统的经典集处理方法推广到模糊集,也就是要通过隶属度函数来进行分集,从而形成了一类模糊图像处理算法。 (4)基于神经网络的滤波方法 由于神经网络滤波器本身具备并行运算的性质,再加上它独特具备的自组织和自学习能力,从而使其在图像处理领域中的应用越来越广泛。目前,神经网络在图像去噪中的应用研究主要集中在针对图像的特点系统地研究学习算法和训练方法上,特别是在训练方法方面还需要作出更加深入研究,再者就是如何

31、简化神经网络滤波算法的运算速度和如何硬件实现并且进行优化和简化的问题。 1.41.4图像去噪效果的评价方法图像去噪效果的评价方法如何评价图像去噪效果是图像信息学科的基础研究之一。对于图像处理和图像通信系统而言,图像就作为信息的载体,图像的质量就是衡量这个图像信息系统的重要指标。图像去噪的直观目的就是为了提高图像的视觉显示效果。在对一个去噪模型作具体评估时,需要考虑以下几个因素: (1)图像经去噪后应尽量平滑,尽可能的降低噪声遗留痕迹; (2)去噪不应该过度损失图像的细节; (3)不能因为去噪而产生过度的的的噪声; (4)采用去噪方法,如果必然产生新的噪声,那么它应尽量地接近随机噪声; (5)信

32、噪比要高。使去噪后的图像尽量接近原始图像。 这就都要求设计一个合理的图像去噪评估方法。现有的评价方法分为主观和客观两种,本文我们将只对结果进行主观评价,下面简单介绍下主观评价方法。 主观评价一般分两种:一种是观察者的主观评价,由观察者对图像直接用肉眼进行观察,由本人对所观察的图像的质量给出相应的评价,综合众多观测者的意见给出一个综合结论。这种方法没有定量,非常容易受观察者主观因素的影响,因此评价的结果存在一定的不确定性。第二种是采用模糊综合评判方法,它实现了对图像质量近似定量的评估,目的为了尽量减少主观因素的影响,但主观不确定性并没有完全消除,而且需要专家利用经验来确定定量计算公式中的参数。本

33、文使用肉眼观察的直观方法来对中值滤波的去噪效果进行探究。 9 / 351.51.5本章小结本章小结本章首先阐述了如何把图像离散化和数字化,然后简要介绍了几种常用的灰度图像去噪处理方法,并阐明了各种去噪的原理与其所具有的优缺点。由于图像特征的随机性和多样性以与使用者的不同使用目的,采用不同增强处理方法针对不同噪声的处理效果是不同的,因此需要分别用各类处理方法对各种常见噪声图像进行处理并分析结果2 2中值滤波中值滤波中值滤波(Median Fi1ter)以排序统计理论作为其理论基础,作为一种非线性平滑滤波算法,可以有效抑制噪声,由于它在实际运算过程中并不需要图像的统计特性,所以比较方便使用。 2.

34、12.1标准中值滤波标准中值滤波2.1.12.1.1中值滤波的原理中值滤波的原理中值滤波是由图基(Turky)在 1971 年提出的,中值滤波的基本原理是把数字序列中一点的值用该点的一个邻域中各点值的中值代替,让周围的像素值接近真实值,从而消除孤立的噪声点。具体来讲就是先以某个像素为中心,定义它的一个邻域(通常是方形邻域) 。对邻域所有像素按灰度值的大小排序,取其中间值作为中心像素新的灰度值。这个邻域一般我们称之为称为窗口。然后把图像中不同的像素依次作类似的处理。对于奇数个元素,中值是指按大小排序后中间的数值;对于偶数个元素,中值是指排序后中间两个元素灰度值的平均值。序列的中值 y 为:(2-

35、1)公式中,若把一个点的特定长度或形状的邻域作为窗口,在一维情况下,中值滤波器是一个含有奇数个像素的滑动窗口。窗口中中间那个像素的值用窗口各像素值的中值来代替,设输入序列为,为自然数集合或子集,窗口长度为 n,且令 u=(n-1)/2,则滤波器的输出为: 10 / 35 (2-2) -+=iii uii uyMed xMed xxx上式表明 i 点的中值仅与窗口前后各点的中值有关,为序列的中值。把中值滤波的概念推广到二维并利用某种形式的二维窗口。则可对二维中值滤波做如下定义:设表示数字图像各点的灰度值,滤波窗口为 A,则:(2-3) 2+*+=,i,j,Iijijj rj sAyMed xMe

36、d xr sA上式窗口是 A 的点的中值表达式,二维中值滤波的窗口通常选为 3*3,5*5 区域,可以 5*5 窗口为例,常见的图形如图(2-1)的(a)方形 (b)菱形 (c)十字形 所示: 图(2-1) (a)方形 (b)菱形 (c)十字形用两个例子来详细分析:例 1:如图(2-2)所示,1*5 的一维模版,噪声点为 m,灰度值为 2,先进行数值排序,找到中值并用中值取代原噪声点,形成新的 1*5 一维模版:图(2-2)一维中值滤波过程例 2:3*3 的模板,对 9 个数排序,取第 5 个数替代原来的像素值。以某一个像素点为中心,选取一个 3*3 的窗口为模版,如图 11.3:模版中的灰度

37、值依次为2,1,4,2,2,3,7,6,8 ,排序后新的灰度值为1,2,2,2,3,4,6,7,8,第五个数 3为排序后的中值,用 3 取代原来的中心值 2,完成中值滤波过程。 11 / 35图(2-3)二维中值滤波过程采用中值滤波算法能对图像进行平滑处理。经过中值滤波处理,输出图像任一像素的灰度值是由该像素邻域所有像素灰度值的中间值决定的,因此中值滤波可以较好地消除孤立的噪声点,从而可以使图像经过处理后不会变的很模糊。但是由于中值滤波在去噪时,同时也会破坏图像的细节,当噪声相当严重时,效果就会变的非常差。为了解决这些矛盾,近年来出现了很多改进的算法,如加权中值滤波算法、开关中值滤波、minm

38、ax 算法。 2.1.22.1.2中值滤波的主要特性中值滤波的主要特性中值滤波的主要特性有: l.非线性运算:对于随机噪声,数学分析过程将会异常复杂。如果噪声输入符合零均值正态分布规律,中值滤波输出就会与噪声输入的分布密度有关,即输出噪声方差和输入噪声密度函数之间成平方成反比关系。结尾结论:虽然中值滤波比均值滤波对随机噪声的去噪能力要差些,但对于脉冲干扰来讲,中值滤波是很有效的。特别是对于脉冲宽度小于滤波窗口长度的一半且距离较远的窄脉冲,效果会更好。 2. 信号的不变性:中值滤波在处理某些特定的输入信号时,输出信号会保持与输入信号一样,所以与一般的线性滤波器相比,图像细节能更好地得到保护。 3

39、. 频谱特性:由于中值滤波输出与输入在频率上不是一一对应的,因此不能使用普通线性滤波器频率特性分析方法。一般我们采用总体实验观察法,通过大量实验来验证中值滤波器的频率响应与输入信号的频谱之间是有关系的,呈现一种不规则但波动幅度不大的曲线,它的频谱特性起伏不大,因此认为信号经过中值滤波后,频谱基本上保持不变。 12 / 35在设计中值滤波器算法时,窗口像素灰度值与周围象素灰度值相差较大的点经过处理后要求能与附近的像素灰度值接近,这样就可以减小随机噪声。为了减小处理后的产生模糊的程度,要求在处理时不能简单的取平均值,即可以使中值滤波既能有效消除噪声,同时还能保护图像中的细节部分。 2.22.2中值

40、滤波的改进算法中值滤波的改进算法标准的中值滤波能够明显去除图像中的脉冲噪声,但它在去除噪声的同时,也会使图像中得重要细节衰减。为了解决这种情况,研究人员相继提出了许多的改进型的中值滤波算法。 2.2.12.2.1快速排序算法快速排序算法中值滤波的算法很多,但通常数据排序量较大。需要消耗大量时间,不利于图像处理的实时性。为节省图像处理的时间,我们试图选择更快速的排序方法。窗口大小为 3*3 的快速排序算法:将 3*3 窗口的各个像素分别定义为M11,M12,M13,M21,M22,M23,M31,M32,M33。首先分别对窗口中的每一行计算最大值、中值、最小值,这样一共可以得到 9 个数值,分别

41、包括 3 个最大值、3 个中值、3 个最小值:第一行的最大值:Max1=maxM11,M12,M13;第一行的中值:Med1=medM11,M12,M13;第一行的最小值:Min1=minM11,M12,M13;依此类推:Max2=maxM21,M22,M23;Med2=medM21,M22,M23;Min2=minM21,M22,M23.Max3=maxM31,M32,M33;Med3=medM31,M32,M33;Min3=minM31,M32,M33.( max 表示取最大值,med 表示取中值,min 表示取最小值。)由此可得:9 个数值中 3 个最大值中的最大值和 3 个最小值中的最

42、小值一定是 9 个像素 1中的最大值和最小值; 13 / 353 个中值中的最大值至少大于 5 个像素:即本行中的最小值、其他 2 行的中值 2与最小值;而 3 个中值中的最小值至少小于 5 个像素:即本行中的最大值、其他 2行的中值与最小值。所以,只要比较 3 个最大值中的最小值 Min_of_Max,3 个中值中的中值Med_of_Med,3 个最小值中的最大值 Max_of_Min得到的中间值即为滤波的最后结果 Med_of_nine。具体过程表示如下:Min_of_Max=minMax1,Max2,Max3;Med_of_Med=medMed1,Med2,Med3;Max_of_Min

43、=maxMin1,Min2,Min3.则最后滤波结果:Med_of_nine=medMin_of_Max,Med_of_Med,Max_of_Min;利用这种排序法的中值滤波运算仅需 17 次比较,与传统算法相比。比较次数减少了近 2 倍,大大提高了滤波的速度。2.2.22.2.2极值中值滤波器极值中值滤波器在标准的中值滤波算法中,对窗口所有的像素点都采用同样的处理形式。这样不仅去除了噪声,同时也改变了真正信号点的灰度值,使得图像模糊,丧失细节。但如果我们能够知道哪些信号点是干净点,哪些信号点已被噪声污染,这样我们就可以只处理噪声污染点,不但减少了运算量,而且降低了图像的失真度。 根据经验可知

44、,对于自然图像,邻近点之间存在着比较大的相关性。图像中某一点的灰度值与其附近点的灰度值是很接近的。根据这个结论我们可以做出以下判断:在一幅图像中如果一个像素点的灰度值与其邻域的相关性很小,那么,该信号点很可有能已经被噪声污染了。由此,如果该点的灰度值与其邻点的相关性接近,就应该是一个干净的信号点。设随机选择原始图像某一像素点 xij,用 wi,j表示对点 xij 所作一个窗口操作运算,如果点 xij 的灰度值等于其窗口所有像素点灰度值的最大或最小值,那么该点就是噪声点。如果不是,则为信号点。即如式所示: (2-4)极值中值滤波算法有一个判断点是否被噪声污染的过程, 我们介绍的极值中值滤波算法在

45、处理幅度差值比较大的脉冲噪声时,去噪效果相当明显。但是图像中如 14 / 35果有一些细线等窄的边缘情况,它与它们周围的像素相比,灰度值相差也会很大,极值中值滤波算法就会把这样的像素点误判断为噪声点,因此会破坏原始图像的信号。 2.2.32.2.3加权中值滤波器加权中值滤波器采用加权的方法,可以增加窗口的中心像素的灰度值的比重,对于输入(,),其加权中值滤波的输出如下式所示:(2-5)这里中值运算用 Med()表示,*表示加权。窗口的权用来表示,我们把W=(1,1,1)时的窗口称为标准窗口。如下式所示:(2-6)(2-7)如果 W 是整数时,加权后的中的共有: (2-8)在加权中值滤波中,对加

46、权后中的 N个数从小到大进行排列,把其中第 T 个数作为窗口的中值输出。通过一个简单的例子来看采用加权中值滤波与采用常规中值滤波的区别。例如,采用普通的中值滤波有 y= Med(1 ,1 , 1,5 , 5 , 1 , 5 , 5 , 1 )=1 ,而采用加权后的中值滤波后,则变为 y=Med(1,1,1,1,1,5 ,5 , 5, 1 , 5 , 5 , 5)=5,此时发现加权中值滤波的输出值和常规中值滤波的输出值并不一样。 总结:如果在图像去噪时,我们希望突出中间点或最近的几个点的作用,这时可采用加权中值滤波。原理是调整窗口中变量的数量,可以使多个变量等于同一点的值,然后对经过扩以后的数字

47、集合再去求中值。这种方法比使用简单中值滤波能更好地从噪声图像中还原出阶跃边缘和其他细节。 2.2.42.2.4多级中值滤波器多级中值滤波器多级中值滤波器的工作原理是:沿竖直、水平、45、135各取一维窗口,把它们的最大值、滤波点、极小值排序后,取中值输出。 设数字图像序列为 X(.,.)表示,W 表示中心在,且大小为(2N+1) (2N+1)的正方形滤波窗口。滤波窗口 W 的四个子集可以定义为: (2-9)假定相应的中值为即 15 / 35(2-10)并且 (2-11)于是多级中值滤波器输出可以定义为(2-12)多级中值滤波器可以很好的保存图像的细节,但它控制噪声的能力比较差。 2.32.3本

48、章小结本章小结本章主要介绍了经典的中值滤波的理论、中值滤波算法的特点与对中值滤波改进的算法:快速中值滤波算法、极值中值滤波算法、加权中值滤波算法、多级中值滤波算法。3 3算法算法与与 DSPDSP 仿真仿真3.13.1算法算法3.1.13.1.1算法思想算法思想理论上我们已经得出中值滤波对脉冲噪声的抑制效果比较明显,上一章也对中值滤波的算法做了具体分析,现在就进行基础中值滤波算法实现,并通过 DSP 试验箱对添加不同噪声的图像进行中值滤波处理,对比图像仿真效果,验证中值滤波去噪特性。算法的具体实现过程如下: 16 / 35(1).选择一个(2n+1)(2n+1)的窗口(本次采用 33),并用该

49、窗口沿图像数据进行行或列方向的移位滑动;(2).每次移动后,对窗的诸像素灰度值进行排序;(3).用排序所得中值替代窗口中心位置的原始像素灰度值。开始选择窗口尺寸大小(2n+1)*(2n+1)j=1i=1对程序内所有像素灰度值排序用排序得到的中值代替窗口中心像素值i=i+1j=j+1结束2iNn2jMnYNN 图(3-1)中值滤波算法流程图3.1.23.1.2 C C 代码实现代码实现中值滤波算法对应的 DSP 程序如下:void MedianFilter /中值滤波子程序( unsigned char *sourceImg, /原始图像 unsigned char *newImg, /输出:中

50、值滤波后图像 int cols, int rows )/图像的宽度与高度 /定义局部变量 17 / 35 int i,j,k,m,r,range=32; int pixels; unsigned char *pp=sourceImg, *newpp=newImg; int medianWin9=0; int temp; /图像四周的像素不进行处理,等于原值 for (i=0; i cols -1; i+) /处理第一行的像素 *newpp+ = *pp+; /处理最后一行的像素 pp = sourceImg + (rows-1)* cols; /指针指向最后一行 newpp = newImg+

51、 (rows-1)* cols; for (i=0; i cols -1; i+) *newpp+ = *pp+; /处理最左边一列的像素 newpp = newImg; /指针指向第一行第一个像素 pp = sourceImg; for (i=0; i rows -1; i+) *newpp = *pp; newpp+=cols; pp+=cols; /指针偏移到下一行像素的位置 /处理最右边一列的像素 newpp = newImg+cols-1; /指针指向第一行最后一个像素 pp = sourceImg+cols-1; for (i=0; i rows -1; i+) 18 / 35 *

52、newpp = *pp; newpp+=cols; pp+=cols; /指针移到下一行像素的位置 pixels=(cols-2)*(rows-2); /图像四周的像素不处理 pp=sourceImg+cols+1; /指针指向第一个像素 newpp=newImg+cols+1; /中值滤波 for(i=0;ipixels;i+) /3*3 的中值滤波数组赋值 medianWin0=*(Newpp - cols-1); medianWin1=*( Newpp -cols); medianWin2=*( Newpp - cols+1); medianWin3=*( Newpp-1); media

53、nWin4=* Newpp; medianWin5=*( Newpp+1); medianWin6=*( Newpp + cols-1); medianWin7=*( Newpp + cols); medianWin8=*( Newpp + cols+1); /赋值后的中值滤波数组进行冒泡排序 r=9; for(k=0;kr;k+,r-) for(m=0;mmedianWinm+1) temp=medianWinm; medianWinm=medianWinm+1; medianWinm+1=temp; /取排序好的数组的中值赋给当前像素 *newpp=medianWin4; newpp+;

54、3.23.2仿真过程仿真过程3.2.13.2.1CCS2.2CCS2.2 使用使用以软件仿真(Simulator)环境下进行,试验步骤如下:1. 设置 CCS 工作在软件仿真环境。(1)双击桌面上 Setup CCS studio 图标运行 CCS Setup,进入 CCS 设置窗口;(2)按照下面所示,进行 CCS 设置; 20 / 35图(3-2)CCS 设置界面截图(3)在弹出的窗口中点击“是”按键保存设置,退出 CCS Setup,进入 CCS 开发环境。图(3-3)CCS 设置界面截图2. 启动 CCS。双击桌面上 CCS 2 (C6000)图标运行 CCS。3. 打开工程,编译并运行程序。运行中值滤波程序,打开timyprojectsLab-Median-Guass(SaltPepper)image

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论