图像高通滤波器_第1页
图像高通滤波器_第2页
图像高通滤波器_第3页
图像高通滤波器_第4页
图像高通滤波器_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

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

文档简介

1、摘 要数字图像处理是一门新兴技术,随着计算机硬件的发展,数字图像的实时处理已经成为可能,由于数字图像处理的各种算法的出现,使得其处理速度越来越快,能更好的为人们服务。数字图像处理是一种通过计算机采用一定的算法对图形图像进行处理的技术。数字图像处理技术已经在各个领域上都有了比较广泛的应用。图像处理的信息量很大,对处理速度的要求也比较高。MATLAB强大的运算和图形展示功能,使图像处理变得更加的简单和直观。在图像处理的过程中,消除图像的噪声干扰是一个非常重要的问题。本篇论文主要是利用MATLAB软件,采用频域滤波的方法,对图像进行高通滤波处理。图像的边缘、细节主要在高频部分得到反映,而图像的模糊是

2、由于高频成分比较弱产生的。通过高通滤波技术,可以消除模糊,突出边缘,使低频分量得到抑制,从而达到增强高频分量,使图像的边沿或线条变得清晰,实现图像的锐化。本文使用的高通滤波器有理想高频滤波器、巴特沃斯滤波器和高斯滤波器。实际应用中应该根据实际图像中包含的噪声情况灵活地选取适当的滤波算法。关键词:数字图像处理; MATLAB; 高通滤波; 突出边缘目 录1 课程设计目的12 课程设计要求23 MATLAB简介33.1 MATLAB主要功能33.2 工作平台和编程环境34 数字图像处理的介绍44.1 数字图像处理的发展44.2 数字图像处理的应用45 设计方案56 程序设计66.1 基本思路66.

3、2 基本公式6 6.3 设计过程76.3.1 理想高通滤波器76.3.2 Butterworth滤波器86.3.3指数高通滤波器117 仿真结果147.1 滤波器仿真结果147.2 结果分析16结论17参考文献181课程设计目的本次课程设计的目的在于提高发现问题、分析问题、解决问题的能力,进一步巩固数字图像处理系统中的基本原理与方法。熟悉掌握一门计算机语言,可以进行数字图像的应用处理的开发设计。综合运用MATLAB软件实现图像高通滤波程序设计。1)熟悉MATLAB软件环境,学习如何利用MATLAB软件来实现对图像的各种数字化处理;2)掌握常用频域高通滤波器的设计,进一步加深理解和掌握图像频谱的

4、特点和频域高通滤波的原理。3)理解图像高通滤波的处理过程和特点,以及通过设计不同的滤波器来实现对图像的不同滤波效果;4)在设计过程中探索出影响滤波效果的因素有哪些。5)通过高通滤波技术来消除图像的模糊,突出图像的边缘,使低频分量得到抑制,增强高频分量,使图像的边沿或线条变得清晰,实现图像的锐化。2课程设计要求利用所学的数字图像处理技术,建立实现某一个主题处理的系统,利用MATLAB软件系统来实现图像的频域滤波技术,要求:1)学习和熟悉MATLAB软件的使用方法;2)熟悉和掌握MATLAB 程序设计过程;3)利用所学数字图像处理技术知识和MATLAB软件对图像进行高通滤波处理4)能对图.jpg、

5、.bmp、.png格式进行打开、保存、另存、退出等一系列功能操作;5)在程序开发时,必须清楚主要实现函数目的和作用,需要在程序书写时做适当注释说明,理解每一句函数的具体意义和使用范围;6)比较在高通滤波器中理想高频滤波器、巴特沃斯滤波器和高斯滤波器对图像数字化处理效果的异同;7)探索影响滤波效果的因素,通过设计不同的滤波半径和滤波器阶数来实现对图像的不同效果处理。 3 MATLAB简介 3.1 MATLAB主要功能MATLAB是MathWork公司于1982年推出的一套高性能的数值计算和可视化软件,它集数值分析、矩阵运算、信号处理和图形显示于一体,拥有界面简洁、友好的用户环境。它是建立在向量、

6、数组和矩阵基础上的一种分析和仿真工具软件包,包含各种能够进行常规运算的“工具箱”,其强大的图形功能以及丰富的图像处理工具函数,使得MATLAB特别适合于图像处理学习和应用。 MATLAB是一个交互式系统,是一种面向数组的编程语言。它是一种用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言。高级语言可用于技术计算;开发环境可对代码、文件和数据进行管理;二维和三维图形函数可用于可视化数据;各种工具可用于构建自定义的图形用户界面;各种函数可将基于MATLAB的算法与外部应用程序和语言;其应用范围非常广,包括信号和图像处理、通迅、控制系统设计、测试和测量等众多应用领域。 3.2 MATL

7、AB工作平台和编程环境MATLAB有两种常用的工作模式:一种是在命令窗口中直接输入简单的命令;另一种是.m文件的编程工作方式。前者适用于命令行这种比较简单的情形,而后者则适用于进行大量的复杂计算的情形。MATLAB启动后桌面布置方式中包含了1个工具栏、3个区域、5个工作窗口,这5个工作窗口分别为发射台(launch pad)、工作区(workspace)、命令历史(command history)、当前路径(current directory)和命令窗口(command windows)。随着MATLAB的商业化以及软件本身的不断升级,MATLAB的用户界面也越来越精致,更加接近Windows

8、的标准界面,可以利用菜单命令完成对工作窗口的操作,人机交互性更强,操作更简单。4数字图像处理的介绍 4.1数字图像处理的发展 图像是人类获取信息、表达信息和传递信息的重要手段。因此,数字图像处理技术已经成为信息科学、计算机科学、工程科学、地球科学等诸多方面的学者研究图像的有效工具。 数字图像处理的发展历史并不长,起源于20世纪20年代。数字图像需要很大的存储空间和计算能力,其发展受到数字计算机和包括数据存储、显示和传输等相关技术的发展的制约。因此,数字图像处理的历史与计算机的发展密切相关,数字图像处理的真正历史是从数字计算机的出现开始的。数字图像处理技术在20世纪60年代末70年代初开始用于医

9、学图像、地球遥感监测和天文学等领域。其后军事、气象、医学等学科的发展也推动了图像处理技术的迅速发展。此外,计算机硬件设备的不断降价,包括高速处理器、海量存储器、图像数字化和图像显示、打印等设备的不断降价成为推动数字图像处理技术发展的又一个动力。 4.2数字图像处理的应用 目前数字图像处理的应用越来越广泛,已经渗透到工程、工业、医疗保健、航空航天、军事、科研、安全保卫等各个领域,在国民经济中发挥越来越大的作用。卫星遥感数字图像处理技术可以广泛地应用于所有与地球资源相关的农、林、地、矿、油等领域;指纹识别技术则在公共安全领域得到了广泛应用;在医学领域,CT、核磁共振等技术已经广泛应用于临床诊断。总

10、之,图像处理技术的应用是相当广泛的,它在国家安全、经济发展、日常生活中充当着越来越重要的角色,对国计民生有着不可忽略的作用。 5设计方案利用MATLAB图像处理工具箱,设计自己的Photoshop,实现图像高通滤波效果。要求:按照软件工程方法,根据需求进行程序的功能分析和界面设计,给出设计详细说明。然后按照自己拟定的功能要求进行程序设计和调试。 1)图像的读取和保存;2) 编写程序,通过相关公式和理论知识,实现理想高频滤波器、巴特沃斯滤波器和高斯滤波器的不同效果;3)在编程过程中,通过设置不同的滤波半径和不同的滤波器阶数,来实现图像滤波后的不同效果;4)设计图形用户界面,让用户能够对原图像与通

11、过各种高通滤波后所得图像进行对比,以清楚显示高通滤波的效果;5)设计图形用户界面,让用户能够用鼠标选取图像感兴趣区域,显示和保存该选择区域。6程序设计6.1基本思路说明:高通滤波是对图像增强的频域方法之一,本论文采用理想高频滤波器、巴特沃斯滤波器和高斯滤波器的来实现图像滤波的不同效果。(1)读取原始图像;(2)对图像进行二维傅里叶变换,将图像从空间域变换到频率域;(3)在频率域对图像进行各种滤波处理;(4)对图像进行二维傅里叶逆变换,将图像从频率域反变回到空间域;(5)显示原图像和变换后的图像。6.2 基本公式(1)理想高通滤波器的转移函数: 0, D(u,v) D0 H(u,v)=(6.1)

12、 1, D(u,v) D0 (2)Butterworth滤波器的转移函数:H(u,v)=1/1+D0/D(u,v)2n (6.2)(3)指数高通滤波器的转移函数: H(u,v)=e-D0/D(u,v)n (6.3)注:式中,D0为截止频率;D(u,v)=u2+v2是点(u,v)到频率平面原点的距离。6.3 设计过程6.3.1 理想高通滤波器clear all%读取图像I=imread(testpat1.png);J=double(I);%分别设置3种不同的滤波半径D1=15;D2=30;D3=50;%傅里叶变换并中心化Fuv=fftshift(fft2(J);M,N=size(Fuv);%确定

13、傅里叶变换的原点xo=floor(M/2);yo=floor(N/2);%分别求IHPFfor i=1:M for j=1:N D=sqrt(i-xo)2+(j-yo)2); if(D=D1) h1(i,j)=1; else h1(i,j)=0; end if(D=D2) h2(i,j)=1; else h2(i,j)=0; end if(D=D3) h3(i,j)=1; else h3(i,j)=0; end end end%滤波 矩阵点乘Guv1=h1.*Fuv;Guv2=h2.*Fuv;Guv3=h3.*Fuv;%傅里叶逆变换g1=ifftshift(Guv1);g1=uint8(rea

14、l(ifft2(g1);g2=ifftshift(Guv2);g2=uint8(real(ifft2(g2);g3=ifftshift(Guv3);g3=uint8(real(ifft2(g3);%分别显示各个图像subplot(2,2,1);imshow(I);title(原图像)subplot(2,2,2);imshow(g1);title(IHPF D0=15);subplot(2,2,3);imshow(g2);title(IHPF D0=30);subplot(2,2,4);imshow(g3);title(IHPF D0=50); 6.3.2 Butterworth滤波器clear

15、 all%读取图像I=imread(testpat1.png);J=double(I);%分别设置3种不同的滤波半径D1=15;D2=30;D3=50;%滤波器阶数n1=2;n2=4;%傅里叶变换并中心化Fuv=fftshift(fft2(J);M,N=size(Fuv);%确定傅里叶变换的原点xo=floor(M/2);yo=floor(N/2);%分别求3个不同截止频率的BHPFfor i=1:M for j=1:N D=sqrt(i-xo)2+(j-yo)2); if D=0 h1(i,j)=0; h2(i,j)=0; h3(i,j)=0; h4(i,j)=0; h5(i,j)=0; h

16、6(i,j)=0; else h1(i,j)=1/(1+(D1/D)(2*n1); h2(i,j)=1/(1+(D2/D)(2*n1); h3(i,j)=1/(1+(D3/D)(2*n1); h4(i,j)=1/(1+(D1/D)(2*n2); h5(i,j)=1/(1+(D2/D)(2*n2); h6(i,j)=1/(1+(D3/D)(2*n2); end end end%滤波 矩阵点乘Guv1=h1.*Fuv;Guv2=h2.*Fuv;Guv3=h3.*Fuv;Guv4=h4.*Fuv;Guv5=h5.*Fuv;Guv6=h6.*Fuv;%傅里叶逆变换g1=ifftshift(Guv1);

17、g1=uint8(real(ifft2(g1);g2=ifftshift(Guv2);g2=uint8(real(ifft2(g2);g3=ifftshift(Guv3);g3=uint8(real(ifft2(g3);g4=ifftshift(Guv4);g4=uint8(real(ifft2(g4);g5=ifftshift(Guv5);g5=uint8(real(ifft2(g5);g6=ifftshift(Guv6);g6=uint8(real(ifft2(g6);%分别显示各个图像subplot(3,3,1);imshow(I);title(原图像);subplot(3,3,4);i

18、mshow(g1);title(2阶 BHPF D0=15);subplot(3,3,5);imshow(g2);title(2阶 BHPF D0=30);subplot(3,3,6);imshow(g3);title(2阶 BHPF D0=50);subplot(3,3,7);imshow(g4);title(4阶 BHPF D0=15);6.3.3 指数高通滤波器clear all%读取图像I=imread(testpat1.png);J=double(I);%分别设置3种不同的滤波半径D1=15;D2=30;D3=50;%滤波器阶数n1=2;n2=4;%傅里叶变换并中心化Fuv=ffts

19、hift(fft2(J);M,N=size(Fuv);%确定傅里叶变换的原点xo=floor(M/2);yo=floor(N/2);%分别求3个不同截止频率的EHPFfor i=1:M for j=1:N D=sqrt(i-xo)2+(j-yo)2); if D=0 h1(i,j)=0; h2(i,j)=0; h3(i,j)=0; h4(i,j)=0; h5(i,j)=0; h6(i,j)=0; else h1(i,j)=exp(-(D1/D)n1); h2(i,j)=exp(-(D2/D)n1); h3(i,j)=exp(-(D3/D)n1); h4(i,j)=exp(-(D1/D)n2);

20、 h5(i,j)=exp(-(D2/D)n2); h6(i,j)=exp(-(D3/D)n2); end end end%滤波 矩阵点乘Guv1=h1.*Fuv;Guv2=h2.*Fuv;Guv3=h3.*Fuv;Guv4=h4.*Fuv;Guv5=h5.*Fuv;Guv6=h6.*Fuv;%傅里叶逆变换g1=ifftshift(Guv1);g1=uint8(real(ifft2(g1);g2=ifftshift(Guv2);g2=uint8(real(ifft2(g2);g3=ifftshift(Guv3);g3=uint8(real(ifft2(g3);g4=ifftshift(Guv4)

21、;g4=uint8(real(ifft2(g4);g5=ifftshift(Guv5);g5=uint8(real(ifft2(g5);g6=ifftshift(Guv6);g6=uint8(real(ifft2(g6);%分别显示各个图像subplot(3,3,1);imshow(I);title(原图像);subplot(3,3,4);imshow(g1);title(2阶 EHPF D0=15);subplot(3,3,5);imshow(g2);title(2阶 EHPF D0=30);subplot(3,3,6);imshow(g3);title(2阶 EHPF D0=50);sub

22、plot(3,3,7);imshow(g4);title(4阶 EHPF D0=15);subplot(3,3,8);imshow(g5);title(4阶 EHPF D0=30);subplot(3,3,9);imshow(g6);title(4阶 EHPF D0=50);7.仿真结果 7.1滤波器仿真结果(1)理想高通滤波器 图7.1 理想高通滤波器仿真结果图(2)Butterworth滤波器 图7.2 Butterworth滤波器仿真结果图(3)指数高通滤波器 图7.3 指数高通滤波器仿真结果图7.2结果分析从实验的仿真结果我们可以看出,不同的滤波器对图像的滤波效果是不同的。它们的共同点

23、是图像在经过高通滤波后,消除了模糊,突出了边缘,使低频分量得到了抑制,从而增强了高频分量,使图像的边沿或线条变得清晰,实现了图像的锐化。但理想高通滤波器出现了明显的振铃现象,即图像边缘有抖动现象;而Butterworth滤波器高通效果较好,但是计算复杂,其优点是有少量的低频通过,故H(u,v)是渐变的,振铃不明显;指数高通滤波效果比Butterworth差些,但振铃也不明显。而且不同的滤波半径和不同的滤波器阶数对图像的滤波效果也是不同的。滤波半径越越小,则图像的滤波效果越好;滤波器阶数越高,则滤波效果越好。从以上3种高通滤波的研究可知,加强了高频分量,但是由于低频通过太少,故处理后图像仍不清晰。理想的方案是把多种处理方法综合使用,例如每次频域处理之后,再用空域处理,如直方图均衡化修正,这样处理后,图像效果更好,轮廓更加突出,图像更加清晰。 结 论数字图像处理技术是一门用途非常广泛的技术,而且研究的领域也很广泛,它不仅能对图像进行增强处理,而且在图像变换、图像编码与压缩、图像复原、识别等方面也占据着重要的地位。数字图像处理技术主要是以MATLAB软件为基础,利用MATLAB软件的强大的数值运算功能和二维、三维绘图功能,对图像进行一系列的处理以达到某种预期的效果。由于MATLAB函数众多,而且课本上提供的都是最基本的函数功能以及对MATLAB软件简

温馨提示

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

评论

0/150

提交评论