基于频率域的平滑滤波及其应用-数字图像处理论文.doc

上传人:龙*** 文档编号:1094526 上传时间:2018-12-05 格式:DOC 页数:34 大小:746.66KB
下载 相关 举报
基于频率域的平滑滤波及其应用-数字图像处理论文.doc_第1页
第1页 / 共34页
基于频率域的平滑滤波及其应用-数字图像处理论文.doc_第2页
第2页 / 共34页
基于频率域的平滑滤波及其应用-数字图像处理论文.doc_第3页
第3页 / 共34页
基于频率域的平滑滤波及其应用-数字图像处理论文.doc_第4页
第4页 / 共34页
基于频率域的平滑滤波及其应用-数字图像处理论文.doc_第5页
第5页 / 共34页
点击查看更多>>
资源描述

1、数字图像处理论文1频率域低通滤波及其应用第六组:201583130145 赵明翔摘要:数字图像处理的主要目的是改善图像视觉效果,以便于人们对其更进一步的理解,而图像增强技术是采用某种技术手段改变图像的视觉效果,其中一种技术就是频率域增强技术,本论文重点介绍了用 MATLAB对图像分别进行理想低通滤波、布特沃斯低通滤波和高斯低通滤波。关键词:MATLAB 滤波 理想低通滤波 布特沃斯低通滤波 高斯低通滤波一引言滤波是将信号中特定波段频率滤波的操作,是抑制和防止干扰的一项重要措施。根据观察某一随机过程的结果,对另一与之有关的随机过程进行估计的概率理论与方法。而低通滤波则是让低频信号能正常通过,而超

2、过设定临界值的高频信号则会被阻隔、减弱,但是阻隔或减弱的幅度会根据不同的频率以及不同的滤波程序而改变。二频率域滤波基础频率域滤波有修改一幅图像的傅里叶变换然后计算其反变换得到处理后的结果组成。由此,若给定一副大小 MN的数字图像f(x,y),则基本滤波公式有如下形式-1yx,gvuFH,其中, -1是 IDFT, 是输入图像 的 DFT, 是滤波函vuFyxfvuH,数字图像处理论文2数 是滤波后的(输出)图像。函数 F,H 和 g是大小与输出图yxg,像相同的 阵列。乘积 是阵列相乘而得到的,滤波函NMvu,数通过修改输入的图像数据的变换得到处理后的输出 。yx,变换中的低频与图像中缓慢变化

3、的灰度分量有关,而高频由灰度的尖锐过程造成。因此我们所利用的让高频衰减而让低频通过的滤波器 (也就是我们下面即将讨论的低通滤波器)将会使图vuH,像变得模糊。三常用的低通滤波器在这门课程中我们主要学习的低通滤波器有三种,分别是:理想滤波器、布特沃斯滤波器和高斯滤波器。这三种滤波器涵盖了从非常尖锐到非常平滑的滤波范围。3.1 理想滤波器在以原点为圆心,以 D0为半径的圆内,无衰减地通过所有频率,而在该圆外“切断”所有频率的二维低通滤波器,称为理想低通滤波器(ILPF) ;它由下面的函数确定:1, 0Dvu),(),(H0, 0),(v其中, 0是一个正常数, 是频率域中点 与频率矩形中心D),(

4、vuD),(u的距离,即2 2 1/2 /),(Pv/Qv(*)数字图像处理论文3其中,与以前一样,P 和 Q是 和 填充后的尺寸。12MP12NQ图 4.40(a)显示了 的透视图,图 4.40(b)显示了以图像显示的vuH,滤波器。理想这一名称表明在半径 0的圆内,所有频率无衰减地通D过,而在此圆之外的所有频率则完全被衰减。理想低通滤波器是关于原点径向对称的,这意味着该滤波器完全由一个径向横截面来定义,如图 4.40(c)所示。将该横截面旋转 360o得到二维滤波器。3.2布特沃斯低通滤波器截止频率位于距原点 0处的 n阶布特沃斯低通滤波器( BLPF)D的传递函数定义为其中, 由(*)式

5、给出。图 4.44显示了该 BLPF函数的透视图、),(vuD图像显示和径向剖面图。3.3高斯低通滤波器数字图像处理论文4二维高斯滤波器的形式由下式给出: 22(u,v)/(,)DHe其中, 是距频率矩形中心的距离。 是关于中心的扩展度的度),(vuD量。通过令 = ,我们可以使用其他滤波器的表示法来表示该滤波0器: 220(u,v)/D(,)He其中, 是截止频率。当 时,GLPF 下降到其最大值的0D00.607处。四Matlab 实现:4.1理想低通滤波 matlab实现:函数程序:理想低通滤波器(以 D0=5 为例) I1=imread(D:Matlabproject低通、高通滤波实验

6、原图 .jpg); imshow(I1);title( 原图); s=fftshift(fft2(I1); M,N=size(s); %分别返回 s 的行数到 M 中,列数到 N 中 n1=floor(M/2); %对 M/2 进行取整 n2=floor(N/2); %对 N/2 进行取整 %ILPF 滤波,d0=5 ,15,30 (程序中以 d0=5 为例) d0=5; %初始化 d0 for i=1:M for j=1:N d=sqrt(i-n1)2+(j-n2)2); %点(i,j)到傅立叶变换中心的距离 if d=d0 %点(i,j)在通带内的情况 h=1; %通带变换函数 else

7、%点(i,j)在阻带内的情况 h=0; %阻带变换函数 end s(i,j)=h*s(i,j); %ILPF 滤波后的频域表示 end end s=ifftshift(s); 数字图像处理论文5 %对 s 进行反 FFT 移动 %对 s 进行二维反离散的 Fourier 变换后,取复数的实部转化为无符号 8 位整数 s=uint8(real(ifft2(s); figure; %创建图形图像对象 Imshow(s); %显示 ILPF 滤波后的图像 title(ILPF 滤波(d0=5) 4.2 布特沃斯低通滤波matlab实现函数程序:巴特沃斯低通滤波:(以 D0=5 为例) I1=imre

8、ad(D:Matlabproject低通、高通滤波实验原图.jpg); imshow(I1);title(原图); s=fftshift(fft2(I1); M,N=size(s); %分别返回 s 的行数到 M 中,列数到 N 中 n=2; %对 n 赋初值 %BLPF 滤波,d0=5,15,30,80(程序中以 d0=15 为例) d0=5; %初始化 d0 n1=floor(M/2); %对 M/2 进行取整 n2=floor(N/2); %对 N/2 进行取整 for i=1:M for j=1:N d=sqrt(i-n1)2+(j-n2)2); %点(i,j)到傅立叶变换中心的距离

9、h=1/(1+(d/d0)(2*n); %BLPF 滤波函数 s(i,j)=h*s(i,j); %BLPF 滤波后的频域表示 end end s=ifftshift(s); %对 s 进行反 FFT 移动 %对 s 进行二维反离散的 Fourier 变换后,取复数的实部转化为无符号 8 位整数 s=uint8(real(ifft2(s); figure; %创建图形图像对象 imshow(s); %显示 BLPF 滤波处理后的图像 title(BLPF 滤波(d0=5)); 4.3 高斯低通滤波matlab实现函数程序如下:高斯低通滤波器:(以 D0=5 为例) I1=imread(D:Mat

10、labproject低通、高通滤波实验原图.jpg); imshow(I1);title(原图); s=fftshift(fft2(I1);数字图像处理论文6 M,N=size(s); %分别返回 s 的行数到 M 中,列数到 N 中 n=2; %对 n 赋初值 %GLPF 滤波,d0=5 ,15,30(程序中以 d0=30 为例) d0=5; %初始化 d0 n1=floor(M/2); %对 M/2 进行取整 n2=floor(N/2); %对 N/2 进行取整 for i=1:M for j=1:N d=sqrt(i-n1)2+(j-n2)2); %点(i,j)到傅立叶变换中心的距离 h

11、=1*exp(-1/2*(d2/d02); %GLPF 滤波函数 s(i,j)=h*s(i,j); %GLPF 滤波后的频域表示 end end s=ifftshift(s); %对 s 进行反 FFT 移动 %对 s 进行二维反离散的 Fourier 变换后,取复数的实部转化为无符号 8 位整数 s=uint8(real(ifft2(s); figure; %创建图形图像对象 imshow(s); %显示 GLPF 滤波处理后的图像 title(GLPF 滤波(d0=5); 5.GUI基于数字信号处理原理,在数字滤波器设计理论和 Matlab 编程技术及其 GUI 图形用户界面设计的基础上,

12、开发了具有交互式特点的数字图像处理 GUI 软件,界面操作简单方便。 MATLAB既是一种直观、高效的计算机语言,同时又是一个科学计算平台。它 为数据分析和数据可视化、算法和应用程序开发提供了最核心的数学和高级图形 工具。根据它提供的500多个数学和工程函数,工程技术人员和科学工作者可以 在它的集成环境中交互或编程以完成各自的计算。 MATLAB中集成了功能强大的图像处理工具箱。由于MATLAB语言的语法 特征与C 语言极为相似,而且更加简单、更加符合科技人员对数学表达式的书写 格式,而且可移植性好、可扩展性强,再加上其中有丰富的图像处理函数,所以 MATLAB在图像处理的应用中具有很大的优势

13、。一、设计基本原理图形用于界面(GUI)是提供人机交互的工具和方法。GUI 是包含图形对象 (如窗口、图标、菜单和文本)的用户界面。MATLAB 的数字图像处理论文7GUI 为开发者提供了一 个不脱离 MATLAB 的开发环境,有助于 MATLAB 程序的 GUI 集成。在 MATLAB 中的 GUIDE 就是图形用户 界面开发环境(Graphical User Interface Development Environment) ,它向用 户提供了一系列的创建用户图形界面的工具。这些工具大大简化了 GUI 设计和 生成的过程。(一) 、GUIDE 操作界面的使用方法下面对 GUIDE 的操作

14、界面及使用方法做一简单介绍。 在命令窗口中直接键入 guide, 启动 GUIDE, 利用 GUIDE 模板创建 GUI, 或者打开已经存在的 GUI, GUIDE 把 GUI 设计的内容保存在两个文件中,它 们在第一次保存或运行时生成。一个是 FIG 文件,扩展名为Fig,它包含对 GUI 和 GUI 组件的完整描述;另外一个是 M 文件,扩展名为.M,它包含控制 GUI 的代码和组件的回调事件代码。这两个文件与 GUI 显示和编程任务相对应。 在版面设计器中创建 GUI 时, 内容保存在 FIG 文件中;对 GUI 编程时,内容 保存在 M 文件中。用 GUIDE 版面设计器,根据设计需要

15、:首先拖拽两个图形窗 口(Axes) ,一个作为待处理图片区域,另一个作为已处理图片区域;其次, 拖拽五个电子按钮(Radio Button) ,作为边缘检测操作按钮;第三,拖拽五个 按钮(Push Button) ,作为输入等的按钮;最后,将上面的所有按钮及图形窗 口合理的布局,达到美观工整的效果,然后运行一下 GUI,系统会自动生成 GUI 文件。 信息化社会中,计算机在各种信息处理中发挥着重要的作用。我们可以借 助计算机,对数字图像进行处理,以达到不同的效果。数字图像处理论文8根据题目的要求,除了实 现要求的功能外,还有很多的功能需要用到。 (1) 、将一个 RGB图像转换为灰度图像。

16、(2) 、可以对图像做各种变换,如旋转等。 (3) 、有时并不需要图像显示其细节部分,只要其轮廓,这时候不要很高的灰 度级。可以把图像转换为二值图像,进行图像腐蚀,或是创建索引图像等。 (4) 、分析一个图像的频谱特征,利用傅里叶变换,将图像从空间域变换到频 域,然后进行各种处理,经过高通滤波器或是低通滤波器。 (5) 、为了科学地定量描述和使用颜色,人们提出了各种颜色模型,按用途可 分为三类:计算颜色模型,视觉颜色模型和工业颜色模型。有时为了不同的需要 要对颜色模型进行转换。二、GUI 程序总体设计(一)MATLAB GUI 程序要实现的功能:将一个 RGB图像转换为灰度图像。 可以对图像做

17、各种变换,如旋转等。 可以对图像进行任意的亮度和对比度调整,显示和对比变换前后的图像。 通过最近邻插值和双线性插值算法,将用户所选取的图像区域,进行放 大和缩小整数倍,并保存,比较几种插值的效果。 对颜色模型进行转换。为了科学地定量描述和使用颜色,人们提数字图像处理论文9出了各 种颜色模型,按用途可分为三类:计算颜色模型,视觉颜色模型和工业颜色模 型。有时为了不同的需要,要对颜色模型进行转换。 三、具体设计与实现3.1、文件操作3.1.1、打开为了让使用者更方便的使用,所以在设计的时候,通过对话框的形式来选 择文件,选择 uigetfile函数来实现,uigetfile 函数显示一个打开文件对

18、话框,该 对话框自动列出当前路径下的目录和文件,由于这个 GUI程序的操作对象是图 像文件,所以设置这里的缺省后缀名为“.bmp” 。 Uigetfile 函数的调用格式为name,path=yigetfile(), 在按下对话框中的执 行按钮“打开”后,返回选择的文件名和路径,分别保存到“name”和 “path”中。如果按下取消按钮或是发生错误,则返回值是 0。 根据返回值的情 况,如果是 0,则弹出提示错误的对话框,否则,通过 imread函数读出图像数 据,把图像数据赋值给全局变量 handles.img。 3.1.2、保存 同样也通过对话框的形式来保存图像数据,通过 uigetfil

19、e 函数选择文件名 和路径,用 getimage(gca)取出坐标 2变换后的图像数据保存到变量 i,最后 用 imwrite函数,把数据 i存到指定的文件。 3.1.3、退出数字图像处理论文10退出比较简单,程序如下所示: clc; close all; close(gcf); 3.2、编辑3.2.1、灰度 由于 RGB图像是三维图像,所以图像数据是一个三维数组,为了显示灰度 图像,把三维图像降为二维,可以只取其中的二维数据,实现方法程序为: y=(handles.img(:,:,1); %当然也可以选择(:,:,2) 或(:,:,3) imshow(y); 但是这样的话,根据程序所选的不同

20、,图像数据也不同,显示也就不一样。 另一种方法就是,运用rgb2gray函数实现彩色图像到灰度图像的转换。程序 为: y=rgb2gray(handles.img); imshow(y); 这个程序只能用于 RGB图像转换灰度图像,当原始图像本来就是灰度图像 时,运行该程序时就会出错,但是使用者在使用时有时并不知道这些,为了使 该程序更加完善,应该在使用者原先图像时灰度图像时使用该功能时,应该要 显示提示类信息。所以在开始时应该要有一个 RGB图像或是灰度图像的判断过 程。完整的程序如下: if isrgb(handles.img) y=rgb2gray(handles.img); imshow(y); else msgbox(这已经是灰度图像,转换失败); end 3.2.2、亮度

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文资料库 > 毕业论文

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。