基于SOPC的视频降噪系统的研究与硬件设计毕业设计论文.doc
毕业设计(论文) 题目名称:基于SOPC的视频降噪系统的研究与硬件设计基于SOPC的视频降噪系统的研究与硬件设计摘要:图像的复原技术对于人们提取有用信息起到了关键作用。图像降噪技术属于图像复原技术。现在的降噪技术有均值滤波、维纳滤波、中值滤波、小波降噪法等。现在,降噪技术考虑的更多的是图像处理系统的实时性,而用FPGA器件对图像进行处理,则解决了系统的实时性问题。基于FPGA的可编程片上系统(SOPC)在设计上的灵活性和运算高速性的特点,有利于实现整个系统。在设计时,选用中值滤波算法对图像进行处理,核心算法的实现则通过VHDL语言实现的。在SOPC Builder下添加PIO、JTAG UART、EPCS等组件,并生成系统。整个系统是由一个CPU进行控制的,这个IP软核是从Nios中调用的,并结合软件进行调试。该系统是基于Stratix器件中的EP2S30F484C3芯片,占用了39%的系统资源。通过对各个模块及系统的调试,可以证明系统处理的速度是比较理想的。关键词:图像处理;降噪技术;中值滤波;SOPCThe Research and Hardware Design of Video Noise Reduction System Based on SOPCAbstract: Image recovery technology plays a key role in extracting useful information. The image noise reduction technology belongs to image recovery technology. Now, the technology of image noise reduction includes mean filter, Wiener filter, median filter, noise reduction algorithm based the wavelet and so on.Nowadays, noise reduction technology is looked upon as a key technology for real-time image processing system, and processed images with FPGA devices will solve the problem of real-time application. The SOPC technology based on FPGA, which has the advantage of flexibility and high speed, is favorable for realizing the entire system. In the design, the median filter is chose to process images. The key algorithm is achieved through the VHDL. The function modules such as PIO, JTAG UART and EPCS are intercalated in SOPC Builder, and then the system is generated. The design of the whole system is controlled by the CPU component, which is a soft IP core called Nios II and debugged combining software. The system is implemented in the EP2S30F484C3 FPGA chip and the system occupies only 39% of the FPGA resources. Through debugging the various modules and the system,it proves that the speed of system is relatively satisfactory. Key words:Image process, Technology of noise reduction, Middle filter, SOPC目 录第1章 绪论1 1.1 题目背景11.2 图象处理的应用展望3 1.3 课题的目的及意义4 1.4 论文的主要内容5第2章 SOPC技术介绍62.1 SOPC技术简介及实现方式6 2.1.1 SOPC技术简介6 2.1.2 SOPC技术实现的方式6 2.1.3 SOPC系统开发流程72.2 Quartus 的介绍7 2.3 硬件语言的介绍8 第3章 降噪方案介绍、比较及选择11 3.1 均值滤波113.2 维纳滤波12 3.3 标准中值滤波12 3.4 图像小波域滤波13 3.5 基于图像锐化和平滑的滤波技术13 3.5.1 LUM平滑器13 3.5.2 LUM锐化器14 3.5.3 LUM滤波器153.6 几种算法的比较及选择153.7 中值滤波与LUM滤波器的仿真16第4章 中值模块的FPGA实现18 4.1 中值滤波模块的设计18 4.1.1 3×3模板生成模块18 4.1.2 中值滤波模块 20第5章 系统建立及在SOPC中的模块搭建23 5.1 系统的设计23 5.2 系统的实现23 5.2.1 组件的选择23 5.2.2 片上系统的实现30 5.3 顶层文件的建立32第6章 功能模块及系统的仿真和调试34 6.1 功能模块的仿真34 6.1.1 深度为254的FIFO的调试34 6.1.2 3×3模板生成模块的功能验证34 6.1.3 中值选取模块的调试366.2 系统的调试及功能仿真37 6.3 处理结果及分析38结论39致谢40参考文献41第1章 绪 论1.1 题目背景图像处理是指将图像信号转换成数字信号并利用计算机对其进行处理的过程。图像处理最早出现于20世纪50年代,当时的电子计算机已经发展到一定水平,人们开始利用计算机来处理图形和图像信息。数字图像处理作为一门学科大约形成于20世纪60年代初期。早期的图像处理的目的是改善图像的质量,它以人为对象,以改善人的视觉效果为目的。图像处理中,输入的是质量低的图像,输出的是改善质量后的图像,常用的图像处理方法有图像增强、复原、编码、压缩等。首次获得实际成功应用的是美国喷气推进实验室(JPL)。他们对航天探测器徘徊者7号在1964年发回的几千张月球照片使用了图像处理技术,如几何校正、灰度变换、去除噪声等方法进行处理,并考虑了太阳位置和月球环境的影响,由计算机成功地绘制出月球表面地图,获得了巨大的成功。随后又对探测飞船发回的近十万张照片进行更为复杂的图像处理,获得了月球的地形图、彩色图及全景镶嵌图,获得了非凡的成果,为人类登月创举奠定了坚实的基础,也推动了数字图像处理这门学科的诞生。在以后的宇航空间技术,如对火星、土星等星球的探测研究中,数字图像处理技术都发挥了巨大的作用。 数字图像处理取得的另一个巨大成就是在医学上获得的成果。1972年英国EMI公司工程师Housfield发明了用于头颅诊断的X射线计算机断层摄影装置,也就是我们通常所说的CT(Computer Tomograph)。CT的基本方法是根据人的头部截面的投影,经计算机处理来重建截面图像,称为图像重建。1975年EMI公司又成功研制出全身用的CT装置,获得了人体各个部位鲜明清晰的断层图像。1979年,这项无损伤诊断技术获得了诺贝尔奖,说明它对人类做出了划时代的贡献。 与此同时,图像处理技术在许多应用领域受到广泛重视并取得了重大的开拓性成就,属于这些领域的有航空航天、生物医学工程、工业检测、机器人视觉、公安司法、军事制导、文化艺术等,使图像处理成为一门引人注目、前景远大的新型学科。 随着图像处理技术的深入发展,从70年代中期开始,随着计算机技术和人工智能、思维科学研究的迅速发展,数字图像处理向更高、更深层次发展。人们已开始研究如何用计算机系统解释图像,实现类似人类视觉系统理解外部世界,这被称为图像理解或计算机视觉。很多国家,特别是发达国家投入更多的人力、物力到这项研究,取得了不少重要的研究成果。其中代表性的成果是70年代末MIT的Marr提出的视觉计算理论,这个理论成为计算机视觉领域其后十多年的主导思想。图像理解虽然在理论方法研究上已取得不小的进展,但它本身是一个比较难的研究领域,存在不少困难,因人类本身对自己的视觉过程还了解甚少,因此计算机视觉是一个有待人们进一步探索的新领域。图像处理主要研究的内容有以下几个方面:(1) 图像变换由于图像阵列很大,直接在空间域中进行处理,涉及计算量很大。因此,往往采用各种图像变换的方法,如傅立叶变换、沃尔什变换、离散余弦变换等间接处理技术,将空间域的处理转换为变换域处理,不仅可减少计算量,而且可获得更有效的处理。(2) 图像编码压缩图像编码压缩技术可减少描述图像的数据量(即比特数),以便节省图像传输、处理时间和减少所占用的存储器容量。压缩可以在不失真的前提下获得,也可以在允许的失真条件下进行。编码是压缩技术中最重要的方法,它在图像处理技术中是发展最早且比较成熟的技术。(3) 图像增强和复原图像增强和复原的目的是为了提高图像的质量,如去除噪声,提高图像的清晰度等。图像增强不考虑图像降质的原因,突出图像中所感兴趣的部分。如强化图像高频分量,可使图像中物体轮廓清晰,细节明显;如强化低频分量可减少图像中噪声影响。图像复原要求对图像降质的原因有一定的了解,一般讲应根据降质过程建立"降质模型",再采用某种滤波方法,恢复或重建原来的图像。(4) 图像分割图像分割是数字图像处理中的关键技术之一。图像分割是将图像中有意义的特征部分提取出来,其有意义的特征有图像中的边缘、区域等,这是进一步进行图像识别、分析和理解的基础。虽然目前已研究出不少边缘提取、区域分割的方法,但还没有一种普遍适用于各种图像的有效方法。因此,对图像分割的研究还在不断深入之中,是目前图像处理中研究的热点之一。(5) 图像描述 图像描述是图像识别和理解的必要前提。作为最简单的二值图像可采用其几何特性描述物体的特性,一般图像的描述方法采用二维形状描述,它有边界描述和区域描述两类方法。对于特殊的纹理图像可采用二维纹理特征描述。随着图像处理研究的深入发展,已经开始进行三维物体描述的研究,提出了体积描述、表面描述、广义圆柱体描述等方法。 (6) 图像分类(识别)图像分类(识别)属于模式识别的范畴,其主要内容是图像经过某些预处理(增强、复原、压缩)后,进行图像分割和特征提取,从而进行判决分类。图像分类常采用经典的模式识别方法,有统计模式分类和句法(结构)模式分类,近年来新发展起来的模糊模式识别和人工神经网络模式分类在图像识别中也越来越受到重视。 1.2 图像处理的应用展望图像是人类获取和交换信息的主要来源,因此,图像处理的应用领域必然涉及到人类生活和工作的方方面面。随着科学技术的发展,数字图像处理技术的应用领域也将随之不断扩大。数字图像处理技术未来应用领域主要有以下七个方面:(1)航天航空技术方面 数字图像处理技术在航天航空技术方面的应用,除JPL对月球、火星照片的处理之外,另一方面是在飞机遥感和卫星遥感技术中。图像在空中先处理(数字化编码)成数字信号存人磁带中,在卫星经过地面站上空时,再高速传送下来,然后由处理中心分析判读。这些图像无论是在成像、存储、传输过程中,还是在判读分析中,都必须采用很多数字图像处理方法。现在世界各国都在利用各类卫星所获取的图像进行资源调查、灾害检测、资源勘察、农业规划、城市规划。在气象预报和对太空其它星球研究方面,数字图像处理技术也发挥了相当大的作用。 (2)生物医学工程方面数字图像处理技术在生物医学工程方面的应用十分广泛,且很有成效。除了CT技术之外,还有一类是对医用显微技术的处理分析,如染色体分析、癌细胞识别等。此外,在X光肺部图像增晰、超声波图像处理、心电图分析、立体定向放射治疗等医学诊断方面都广泛地应用图像处理技术。(3)通信工程方面当面通信的主要发展方向是声音、文字、图像和数据结合的流媒体通信。其中以图像通信最为复杂和困难,因图像的数据量十分巨大,如传送彩色电视信号的速率达100M/s以上。要将这样高速率的数据实时传送出去,必须采用编码技术来压缩信息的比特量。在一定意义上讲,编码压缩是这些技术成败的关键。(4)工业工程方面在工业工程领域中图像处理技术有着广泛的应用,它大大提高了工作效率,如自动装配线中质量检测,流体力学图片的阻力和升力分析,邮政信件的自动分拣,在一些恶性环境内识别工件及物体的形状和排列状态,先进设计和制造技术中采用工业视觉等等。其中值得一提的是研制具备视觉、听觉和触觉功能的智能机器人,将会给工农业生产带来新的面貌,目前已在工业生产中的喷漆、焊接、装配中得到有效的利用。(5)军事公安方面在军事方面图像处理和识别主要用于导弹的精确制导,各种侦察照片的判读,具有图像传输、存储和显示的军事自动化指挥系统和模拟训练系统等;公安方面主要用于指纹识别、人脸鉴别、不完整图片的复原以及交通监控、事故分析等。目前已投入运行的高速公路不停车自动收费系统中的车辆和车牌的自动识别就是图像处理技术成功应用的例子6。(6)文化艺术方面的应用 目前这类应用有电视画面的数字编辑、动画的制作、电子图像游戏、纺织工艺品设计、服装设计与制作、发型设计、文物资料照片的复制和修复、运动员动作分析和评分等等。目前正在形成一门新的艺术计算机美术。(7)其它方面的应用 数字图像处理技术已经渗透到社会生活的各个领域,如地理信息系统中二维、三维电子地图的自动生成、修复等;教育领域各种辅助教学系统研究、制作中;流媒体技术领域等等。1.3 课题的目的及意义 由于视频降噪是属于图像处理中的图像增强和复原技术,由于近年来数字图像的广泛应用,所以视频降噪也是当前研究的热点问题之一。而本课题主要研究的是视频降噪算法的研究,并提出自己的算法。在图像采集和传输过程中,信号常常会受到随机噪声的干扰。因而破坏了图像像素间的结构、纹理、内容等方面的相关性。使得图像失真,并且难于压缩、识别和理解。因此,在大多数图像应用场合都需要降低图像中的噪声,使图像恢复本来的面目。由于低层的图像预处理算法处理的数据量大,用一般的软件来实现会比较慢,而且对于一些实时性要求比较高的系统,如视频图像实时处理系统,处理速度往往是要考虑的关键要素,因为一旦速度跟不上,实时性也就无从谈起。针对图像预处理阶段运算结构比较简单的特点,所以硬件实现是可以满足这个要求的。这也是现在图像处理领域的热点问题之一。1.4 论文的主要内容全文的主要内容共分为六章,分别为:第一章 绪论。综合介绍了图象处理的背景、应用展望,以及课题选择的目的和意义。第二章 SOPC技术介绍。首先介绍了SOPC技术及实现的方式,然后介绍试验中所需要用到的软件Quartus的设计流程,最后介绍了硬件描述语言VHDL。第三章 方案介绍、比较及选择。首先介绍几种典型的降噪方法,并比较它们的优缺点,然后按照其优缺点进行选择,从中选出自己的方案。第四章 中值滤波的硬件实现。先介绍了中值滤波实现的总体框架,再具体介绍了框架中各个组件的功能及实现。第五章 在SOPC中建立系统。先对组件进行选择并生成系统,然后再将生成的片上系统于硬件实现的滤波块进行连接,建立顶层文件。第六章 功能模块与系统的仿真。先对各个模块进行仿真,然后再对系统进行仿真。第2章 SOPC技术介绍2.1 SOPC技术简介及实现方式2.1.1 SOPC技术简介SOPC(System On Programmable Chip)即可编程的片上系统,或者说是基于大规模FPGA的单片系统。SOPC的设计技术是现代计算机辅助设计技术、EDA技术和大规模集成电路技术高度发展的产物。SOPC技术的目标就是试图将尽可能大而完整的电子系统,包括嵌入式处理器系统、接口系统、硬件协处理器或加速系统、DSP系统、数字通信系统、存储电路以及普通数字系统等,在单一FPGA中实现,使得所设计的电路系统在其规模、可靠性、体积、功耗、功能、性能指标、上市周期、开发成本、产品维护及其硬件升级等多方面实现最优化。SOPC技术是一门全新的综合性电子设计技术,涉及面广。2.1.2 SOPC技术实现的方式SOPC技术实现方式一般分为三种: (1) 基于FPGA嵌入IP(Intellectual Property )硬核的SOPC系统。目前最常用的嵌入式系统大多采用了含有ARM的32位知识产权处理核的器件。Altera公司Excalibur系列的FPGA中就植入了ARM922T嵌入式视同处理器;Xilinx的Virtex- Pro系列中则植入了 IBM PowePC405处理器。这样就能使得FPGA灵活的硬件设计和硬件实现与处理器强大的软件功能结合,高效地实现SOPC。 (2) 基于FPGA嵌入IP软核的SOPC系统。在第一种实现方案中,由于硬核是预先植入的,其结构不能改变,功能也相对固定,无法裁减硬件资源,而且此类硬核多来自第三方公司,其知识产权费用导致成本的增加。如果利用软核嵌入式系统处理器就能有效克服这些不利因素。最具有代表性的嵌入式软核处理器是Altera公司的Nios软核处理器。 (3)基于HardCopy技术的SOPC系统。HardCopy就是利用原有的FPGA开发工具,将成功实现于FPGA器件上的SOPC系统通过特定的技术直接向ASIC转化,从而克服传统ASIC设计中普遍存在的问题。从SOPC实现方式上不难看出,IP核在SOPC系统中占有极其重要的地位,IP核的设计及IP核的复用成为SOPC技术发展的关键所在。半导体产业的IP定义为用于ASIC、ASSP和PLD等当中预先设计好的电路模块。在SOPC设计中每一个组件都是一个IP核。IP核模块有行为、结构和物理三级不同程度的设计,对应描述功能行为的不同分为三类,即完成行为描述的软核(Soft IP Core )、完成结构描述的固核(Firm IP Core )和基于物理描述并经过工艺验证的硬核(Hard IP Core )。2.1.3 SOPC系统开发流程 SOPC系统的开发流程一般分为硬件和软件两大部分,如图(2-1)所示: 配置处理器自定义指令处理器库外 设 库选择并配置外设IP模块连接模块生 成·HDL源文件·测试平台Quartus分析和适配·用户代码·其他IP模块硬件配置文件JTAG,UART,EthernetAltera PLD软件开发硬件开发Nios IDE·C头文件·自定义库·外设驱动编译、链接、调试·用户代码·库·PTOSSOPC Builder GUI可执行代码软件跟踪,硬件断点SignalTap片上调试验证和调试图2-1 SOPC系统开发流程在图(2-1)中我们可以看出:硬件开发主要是创建Nios系统,作为应用程序运行的平台;软件开发主要是根据系统应用的需要,利用C/C+语言和系统所带的API(Application Programming Interface,应用程序接口)函数编写实现特定功能的程序。而这其中用到的主要工具是Altera 公司的Quartus和Nios IDE。2.2 Quartus介绍Quartus是Aleter提供的FPGA/CPLD开发集成环境,Altera是世界最大的可编程逻辑器件供应商之一。Quartus在21世纪初推出,是Altera前一代FPGA/CPLD集成开发环境MAX+plus的更新换代产品,其界面友好,使用便捷。它提供了一种与结构无关的设计环境,使设计者能方便地进行设计输入、快速处理和器件编程。Altera的Quartus提供了完整的的多平台设计环境,能满足各种特定设计的需要,也是单芯片可编程系统(SOPC)设计的综合性环境和SOPC开发的基本设计工具,并为Altera DSP开发包进行系统模型设计提供了集成综合环境。Quartus设计工具完全支持VHDL、Verilog的设计流程,其内部嵌有VHDL、Verilog逻辑综合器。Quartus也可以利用第三方的综合工具,如Leonardo Spectrun、Synplify Pro、FPGA Compiler,并能直接调用这些工具。同样,Quartus具备仿真功能,同时也支持第三方的仿真工具,如ModelSim。此外,Quartus与MATLAB和DSP Builder结合,可以进行基于FPGA的DSP系统开发,是DSP硬件系统实现的关键EDA工具。Quartus包括模块化的编译器。编译器包括的功能模块有分析/综合器、适配器、装配器、时序分析器、设计辅助模块、EDA网表文件生成器和编辑数据接口等。可以通过Start Compilating来运行所有的编译器模块,也可以通过选择Start单独运行各个模块。还可以通过选择Compiler Tool,在Compiler Tool窗口中运行该模块来启动编译器模块。在Compiler Tool,可以打开该模块的设置文件或报告文件,或打开其他相关窗口。在下图(2-2)中,上面一排是Quartus编译设计主控界面,它显示了Quartus自动设计各主要处理环节和设计流程,包括设计输入编译、设计分析与综合、适配、编程文件汇编、时序参数提取以及编程下载几个步骤。在图(2-2)中,下面一排的流程框图,是与上面的Quartus设计流程相对照的标准的EDA开发流程。图形或HDL编辑Analysis&Synthesis (分析与综合)Filter(适配器)Assembler(编程文件汇编)编程器设计输入综合或编译适配器件下载仿真Timing Analyzer (时序分析器)图2-2 Quartus设计流程2.3 硬件语言介绍硬件描述语言(hardware description language,HDL)是电子系统硬件行为描述、结构描述、数据流描述的语言。HDL语言在国外有上百种,高等学校、科研单位、EDA公司都有自己的HDL语言,现在影响最大的两种HDL语言是VHDL和Verilog HDL。下面简要介绍VHDL硬件描述语言。VHDL语言英文全名是Very High Speed Integrated Circuit Hardware Description Language,即超高速集成电路硬件描述语言。它的产生是由于美国政府为了在电子系统承包中降低开发费用,避免重复设计,由美国国防部牵头,联合众多院校、厂商,为他们的高速集成电路提供了一种硬件描述语言,以期望VHDL功能强大、严格、可读性好。1986年IEEE标准化组织开始工作,讨论VHDL语言标准,历时一年有余,于1987年12月通过标准审查,并宣布实施,即IEEE STD 10761987LRM87。1993年VHDL重新修订,形成了新的标准,即IEEE STD 10761993LRM93。最终VHDL标准得到推广、实施和普及。VHDL语言描述能力强,覆盖面广,抽象能力强,所以用VHDL语言作为硬件模型建模很合适。设计者的原始描述是非常简练的硬件描述,经过EDA工具综合处理,最终生成付诸生产的电路描述或版图参数描述的工艺文件。整个过程通过EDA工具自动完成,大大减轻了设计人员的工作强度,提高了设计质量,减少了出错机会。VHDL语言可读性好。VHDL既能被人容易读懂,又能被计算机识别,作为技术人员编写的源文件,它既是计算机程序、技术文档和技术人员硬件信息交流的文件,又是签约双方的合同文件。VHDL语言中的设计实体(design entity)、程序包(package)、设计库(library),为设计人员重复利用他人的设计提供了技术手段。重复利用他人的IP模块和软核(soft core)是VHDL的特色,许多设计不必个个都从头再来,而是只要在更高层次上把IP模块利用起来,就能达到事半功倍的效果。VHDL程序包含实体(entity)、结构体(architecture)、配置(configuration)、包集合(package)、库(library)5个部分。 简单的实体是由实体和结构体两部分组成的。实体用于描述设计系统的外部接口信号,结构体用于描述系统的行为、系统数据的流程或者系统组织结构形式。设计实体是VHDL程序的基本单元,是电子系统的抽象。简单的实体可以是一个与门电路(AND Gate),复杂的实体可以是一个微处理器或一个数字电子系统。实体由实体说明和结构体说明两部分组成。结构体具体指明了该设计实体的行为,定义了该设计实体的功能,规定了该设计实体的数据流程,指派了实体中内部元件的连接关系。用VHDL语言描述结构体有3种方法:行为描述法、数据流描述法和结构化描述法。结构体的行为描述,即指对设计实体的描述按照算法的路径来描述。行为描述在EDA工程中称为高层次描述或高级描述。数据流描述是结构体描述方法之一,它描述了数据流的运动路径、运动方向及运动结果。结构化描述法适用于层次化设计,对于一个复杂的电子系统,可以分解成许多子系统,子系统再分解成模块。多层次设计可以使设计多人协作,并行同时进行。多层次设计的每个层次都可以作为一个元件,再构成一个模块,或构成一个系统。每个元件可以分别仿真,然后再整体调试。结构化描述不仅是一个设计方法,而且是一种设计思想。第3章 降噪方案介绍、比较及选择现在数字图像处理的方法主要分成两大部分:一是空域分析法,二是频域分析法。空域分析法就是对图像矩阵进行处理;频域分析法是通过图像变换将图像从空域变换到频域,从另一个角度来分析图像的特征并进行处理。我们研究了现有的降噪算法。常有的降噪方法主要可以分为线性滤波技术和非性滤波技术。线性滤波主要是基于均值操作的,其对象主要是高斯白噪声,如低通滤波器、高通滤波器等是属于线性滤波器范畴的滤波方法。由于图像的边缘轮廓含有大量的高频信息,所以在消除噪声的同时低通滤波器降使图像的边缘变得模糊。反之为了提升边缘轮廓可以采用高通滤波器,但噪声同时也将被加强。非线性滤波方法主要是中值滤波,主要针对椒盐噪声,也被用来去除诸如误码和卫星“闪点”等脉冲噪声。中值滤波在消除噪声的同时能保护边缘信息,特别是对于冲击噪声尤为有用,但是对于二维信号(如数字图像中对于图像的线条或边缘等比较复杂的情况)或者更高维信号,可能会引人更多的信号失真和特性丢失。现在图像变换是我们对图像进行处理的另一个思维方向。从古老的傅立叶变换发展到余弦变换,再到现在风靡全球的小波变换,他们都代表了空间域图像的变换域表示方法。我们选择了较具有代表性的算法来分析,在总结现有多种算法的基础上进行了改进并提出了自己的算法,以达到降噪质量的提高。3.1 均值滤波均值滤波的基本思想是建立一个矩形的滤波窗口,其大小可以自由设定,经过实验证明:3×3的大小是比较好的,而且一般的中值滤波也是取的3×3的窗口,所以这里也取3×3窗口。中值滤波是以要处理的象素点以滤波窗口为中心,然后读取滤波窗口中所有象素的灰度值,计算他们的均值(计算公式: 所有象素的灰度值之和/滤波窗口大小),然后用这个求出的均值去替代所处理的象素灰度值。均值滤波的数学表达式如是式(3-1)所示: (3-1)在公式(3-1)中g(x, y)为输出图像,f( i, j)为原图像,W表示滤波窗口,M表示滤波窗口大小。均值滤波的实现起来比较简单,但这种方法存在产生模糊边缘,而且也没有利用到像素之间的相关信息等缺点。在对算法进行思考后,我们可以进行一些改进措施来保护边缘。改进后的均值滤波思想是:首先进行边缘保护,判断该点是否是边缘,如果是边缘点则保护起来;不是边缘点就继续向下执行,进行噪声检测,然后根据噪声等级实现自适应降噪。由于改进后的方法实现起来十分地复杂,而且还需要进行几次阈值的确定,实现起来比较麻烦,所以我们不采用这种方法。3.2 维纳滤波维纳滤波是一种自适应的线性滤波方法,它是用来解决从噪声中提取信号问题的一种过滤的方法,它能根据图像的局部方差调整滤波器的输出,它的最终目标是使恢复图像f(x,y)与原始图像f(x,y)的均方误差最小。如公式(3-2)所示: (3-2) 3.3 标准中值滤波标准中值滤波的原理是把数字图像或数字序列中一点的值用该点的一个邻域中各点值的中值代替。中值的定义如下:一组数把n个数按照值的大小顺序排列如下: (3-3) 在式(3-3)中y为该序列的中值。把一个点的特定长度或形状的邻域称作窗口。对于二维中值滤波,可利用某种形式的二维窗口,如:方形、圆形、十字形等。设式(3-4) 表示数字图像各点的灰度值,如下式所示: (3-4)那么滤波窗口为A的二维中值滤波可定义如式(3-5): (3-5)虽然标准中值滤波技术在衰减噪声的同时能较好的保护图像边缘,但由于其仅考虑滤波窗口内的输入数据的排序信息,而未考虑输入数据的时序源信息,故在图像处理中会产生边缘抖动,并会删除掉一些重要的图像细节,如细线,拐角等。所以要对算法进行改进。3.4 图像小波域滤波小波分析用于图像去噪处理,主要是针对图像信号与噪声信号经小波变换后在不同的分辨率呈现不同的规律,在不同的分辨率下,设定阈值门限,调整小波系数,达到图像去噪的目的。在小波系数进行取舍之前,实际上按照一定准则(或者阈值化)将小波系数划分为两类:一类是重要的、规则的小波系数;另一类是被看作非重要的或者受噪声干扰较大的小波系数。通常以小波系数的绝对值作为小波系数的分类单元。小波系数绝对值趋向于零,意味着小波系数所包含的信息量受噪声干扰强烈。最常用的阈值化去噪方法:一是默认阈值消噪处理,即在消噪处理过程中采用程序中设定的阈值,对分解信号进行分类处理,以求消除噪声;二是给定软(或硬)阈值消噪处理,阈值通过某一个经验公式获得,该阈值比默认的阈值去噪效果更有说服力。对于“软阈值化”,绝对值小于阈值的小波系数数值用零代替;绝对值大于阈值的小波系数数值用来缩减。如式(3-6)所示: (3-6)式中,W表示小波系数的数值;sgn()是符号函数,当数值大于零,符号为正,反之符号为负。对于“硬阈值化”,仅仅保留绝对值大于阈值的小波系数,并且被保留系数与系数相同(没有被缩减),如式(3-7)所示: (3-7)阈值化处理的关键在于选择合适的阈值。如果阈值太小,处理后的信号仍有噪声存在;阈值太大,重要的图像特征将被滤掉,引起偏差。3.5 基于图像锐化和平滑的滤波技术图像平滑往往使图像中的边界、轮廓变得模糊,为了减少这种不利效果的影响,我们对滤波技术进行了改进,利用到了图像锐化技术,使图像的边缘变得更清晰。图像锐化的目的是使图像的边缘、轮廓线以及图像的细节变得清晰。经过平滑的图像变得模糊是因为图像受到平均或积分运算,那我们对其进行逆运算就可以使图像变得清晰。LUM滤波器是一类新的基于排序的滤波器,主要用于信号和图像处理的各种应用中。该滤波结构通过两个参数分别调整LUM滤波器的平滑和锐化程度,从而实现不同功能,因此该滤波器具有通用性且易于实现。设W是一个以为中心像素,具有N(N为奇数)个像素点的窗口函数,即: (3-8)对于二维信号,可把窗口看成一个简单的方窗,排序后的集合表示如式(3-9): (3-9)下面我们分别给出LUM平滑器、LUM锐化器和通用LUM滤波器的定义。3.5.1 LUM平滑器LUM平滑器是LUM滤波器的一个子滤波结构,主要用于平滑图像。定义滤波输出: (3-10)其中。从定义可知。如果,那么LUM平滑器的输出为;如果,则输出为;否则,输出为。参数 k用于控制滤波器的平滑特性,通过调节k值,可折衷噪声平滑和细节保留这一矛盾。k值越小,其保留细节的特性越突出,k值越大,其噪声平滑的效果越好。因此,可根据图像的不同特点及不同滤波目的,动态的调节k值以获得不同的滤波效果。3.5.2 LUM锐化器LUM锐化器是LUM滤波器的另一个子滤波结构,其作用是锐化图像,增强图像的边缘。具有参数的LUM锐化器的输出的定义如下: (3-11)其中。通过改变参数的值可得到不同程度的锐化效果,的值越小,锐化的效果越明显。由于LUM锐化器的边缘增强的同时不会扩大背景噪声,也不会误删除小的信号,因此是一个较好的保留细节和增强边缘的滤波器。3.5.3 LUM滤波器为得到一个既能平滑图像,又能增强边缘的滤波器,把LUM平滑器和LUM锐化器组合在一起是很有必要的,这就是通常所说的LUM滤波器。这样LUM滤波器的定义如下: (3-12)从式(3-12)可以看出,只需要调节参数k和l就可以实现LUM滤波器的不同功能,因此,LUM滤波器是一个简单易实现且功能强大的滤波器,它避免传统线性边缘增强滤波器的一些缺点,具有极强的可设计性和极大的灵活性,可根据需要来设计实现不同功能,例如:可把它设计成对附加噪声不敏感的滤波器,也可把它设计成在去除脉冲噪声的同时能增强的滤波器等。3.6 几种算法的比较及选择(1)4点邻域均值滤波及5×5中值滤波和维纳滤波以图像模糊为代价,可以不同程度地滤除相关噪声。4点窗口邻域均值滤波由于取的邻域较小,滤除效果不是很好,仍有不少噪声残留,但图像模糊程度却是较小的。但如果增大了邻域范围,能够更好滤除噪声,但图像的模糊程度加重;5×5中值滤波窗口取得相对较大,能够较好地滤除噪声,但同时图像的模糊程度也随之增大,这主要和所选取的窗口大小有关。