数字图像处理实验4图象处理中的正交变换.doc

数字图像处理实验4图象处理中的正交变换.doc

  1. 1、本文档共4页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数字图像处理实验4图象处理中的正交变换

实验4 图象处理中的正交变换 ——频域处理 一.实验目的: 1.掌握二维快速傅里叶变换(FFT)的实现,对频谱图像可视化操作。 2.了解频域滤波的内容,学会如何在频域中直接生成滤波器,包括平滑频域滤波器——低通滤波器、锐化频域滤波器——高通滤波器,并利用生成的滤波器对输入图像进行频域处理。 3.掌握绘制三维可视化滤波器图形的方法。 二.实验内容: 1.实现二维快速傅里叶变换,以图像形式显示傅里叶频谱。 2.利用已给出的自定义的M函数,建立频域滤波器的传递函数H(u, v) 3.绘制滤波器传递函数H(u, v)三维图形,并以图像形式显示滤波器。 4.对输入图像进行频域滤波处理。 三.实验原理: 1.快速傅里叶变换FFT的实现 一个大小为M×N的图像矩阵f的快速傅里叶变换FFT可以通过MATLAB函数fft2获得,其简单语法: F = fft2(f) 该函数返回一个大小仍为M×N的傅里叶变换,数据排列如图4.2(a)所示;即数据的原点在左上角,而四个四分之一周期交汇于频率矩形的中心。 傅里叶频谱可以使用函数abs来获得,语法为: S = abs(F) 该函数计算数组的每一个元素的幅度,也就是实部和虚部平方和的平方根,即若某个元素为F = a +bj,则。 通过显示频谱的图像进行可视化分析是频域处理的一个重要方面。例如,对图4.3(a)所示的图像f (image.bmp)我们计算它的傅里叶变换并显示其频谱: F = fft(f) S = abs(F) imshow(S, [ ]) 图4.3(b)显示了结果,图像四个角上的亮点就是四个四分之一周期的中心点。 函数fftshift将变换的原点移动到频率矩形的中心,语法为: Fc = fftshift(F) F是用fft2得到的傅里叶变换,即图4.2(a),而Fc是已居中的变换,即图4.2(b)。键入命令: Fc = fftshift(F) Sc = abs(Fc) figure, imshow(Sc, [ ]) 将产生图4.3(c)所示的图像,居中后的结果在该图像中是很明显的。 虽然该移动像我们期望的那样完成了,但该频谱中Sc值的动态范围很大(0到204000)与8比特显示相比要大的多,使用对数变换来处理,命令: ScL = log(1 + Sc) figure, imshow(ScL, [ ]) 产生如图4.3(d)所示的结果。 2.在频率域中直接生成滤波器 低通滤波器传递函数Hlp(u, v): 理想低通滤波器: n阶巴特沃兹低通滤波器: 高斯低通滤波器: 高通滤波器传递函数Hhp(u, v): Hhp(u, v) = 1 - Hlp(u, v) 直接利用自定义的函数lpfilter(type, M, N, D0, n),建立所有低通滤波器的传递函数,语法为: Hlp = lpfilter(type, M, N, D0, n) 参数type为’ideal’、’btw’、’gaussian’,分别表示理想低通滤波器、n阶巴特沃兹低通滤波器(通常建立的是二阶,即n = 2)、高斯低通滤波器。M, N表示滤波器大小,n仅在建立巴特沃兹滤波器中使用。 例: Hlp = lpfilter(‘gaussian’, 500, 500, 50) %建立了一个高斯低通滤波器,截止频率是50 类似地,有建立所有高通滤波器的传递函数,语法为: Hhp = hpfilter(type, M, N, D0, n) 添加函数库文件夹matlab_function到MATLAB环境中,方法是: File——Set Path——Add Folder——OK——Save——关闭对话框。这样,我们就可以使用函数库所提供的各种自定义的matlab函数。建立低通滤波器的函数lpfilter,建立高通滤波器的函数hpfilter,都来自这个函数库。 3.绘制滤波器传递函数H(u, v)三维图形,并以图像形式显示滤波器 对二维滤波器函数的传递函数进行可视化,使用函数mesh,语法为: mesh(H) %默认是彩色绘图 该函数将绘制一个x = 1:M和y = 1:N的线框图,其中[M N] = size(H)。若M和N很大,则线框图的密度会大到不可接受,将以连续曲面显示。在这种情况下,我们可以使用语法: mesh(H(1:k:end, 1:k:end)) 经验表明,沿每个轴40到60个等分可在外观和分辨率上有较好的平衡。 例: Hlpg = lpfilter(‘gaussi

文档评论(0)

haihang2017 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档