网站大量收购独家精品文档,联系QQ:2885784924

实验一 图像频谱分析.doc

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

PAGE  PAGE 6 实验一 图像频谱分析 实验目的 1、了解图像变换的意义和手段; 2、熟悉傅里叶变换的性质; 3、掌握图像傅立叶频谱的分布特点; 实验原理 1、二维傅立叶变换(DFT) 令f(x,y)表示一副大小为M×N的图像,二维离散傅立叶变换可表示为F(u,v),如下式所示: 其中u=0,1,2,…M-1和v=0,1,2,…N-1。可以将指数项扩展为正弦和余弦项的形式,变量u、v确定他们的频率。 在频率变换点处变换的值[如F(0,0)]称为傅立叶变换的直流分量。 直观的分析变换的主要方法是计算他的频谱——即F(u,v)的幅度,并将其显示为一副图像。令R(u,v)和I(u,v)分别表示F(u,v)的实部和虚部,则傅立叶频谱定义为: 功率谱定义为幅度的平方: 2、傅立叶变换的性质 实验内容 在实际应用中,DFT变换可以通过快速傅立叶变换(FFT)算法来实现。 1、傅立叶变换的计算 (1)函数fft2可以实现二维离散傅立叶变换,格式如下: F=fft2(f) F和f大小相同 F =fft2(f,m,n) 变换前f截断或添0,成为m*n数组,返回结果为m*n。 (2)傅立叶频谱可以用函数abs来获得: S=abs(F) 计算数组中每一个元素的幅度(实部和虚部平方和的平方根)。 2、DFT的可视化 (1)可视化分析用函数imshow来实现 imshow(S,[]) (2)为了增加可视细节,傅立叶频谱常采用log ( 1+abs ( F) )的图像显示。 S2=log ( 1+abs ( F) ); imshow ( S2,[] ) (3)为了便于分析,用函数fftshift将傅立叶变换的零频率部分移到频谱中心。 Fc=fftshift(F) 相应的还有ifftshif 把F的第一、第三象限和二、四象限交换,便于观察零频率部分。 若u、v的范围分别是1-M和1-N,则矩形中心点为【(M/2)+1,(N/2)+1】。若M和N为奇数,则四舍五入。MATLAB计算频率矩形的中心点:[floor(M/2)+1,floor (N/2)+1]. imshow(abs(F),[]) imshow(log(1+abs(F)),[]) 3、函数ifft2用于计算傅立叶反变换 f=ifft2(F) 理论上逆变换结果应为实数,实际ifft2输出结果有很小的虚数成分,所以需在逆变换后提取结果的实部。 f=real(f); 或两个操作合并到一起:f=real(ifft2(F)) 实验步骤 读取图像cameraman.tif,进行傅立叶变换。在窗口1显示:(1)原图像;(2)频谱图(2)对数频谱图;(3)直流分量移到中心的对数频谱图;对图像进行标注(图题); 分析实验结果,比较显示效果,并观察频谱特点。 对其频谱进行傅立叶反变换,在窗口2显示图像。 程序: CLOSE ALL; A=imread(E:\lena.bmp); F=fft2(A) ; S1=abs(F); S2=log ( 1+abs ( F) ); Fc=fftshift(abs(F)); f=real(ifft2(F)); subplot(2,2,1); imshow(A); title(original); subplot(2,2,2); imshow(log(1+abs(F)),[]); title(对数频谱图); subplot(2,2,3); imshow(Fc,[]); title(直流分量移到中心的对数频谱图); subplot(2,2,4); imshow(f,[]); title( 傅里叶反变换的图像); 图1 分别显示图像bridge.bmp、cameraman.tif、blood.bmp及其频谱,分析图像频谱的特点。(可把相应的图像考到默认的work文件夹下,也可在命令中写目录) 程序: CLOSE ALL; A=imread(E:\bridge.bmp); B=imread(E:\blood.bmp); C=imread(E:\lena.bmp); F1=fft2(A) ; F2=fft2(B) ; F3=fft2(C) ; S1=log ( 1+abs ( F1) ); S2=log ( 1+abs ( F2) ); S2=log ( 1+abs ( F2) ); subplot(3,2,1); imshow(A); title(bridg.bmp); subplot(3,2,2); imshow(B); title(blood.bmp); subplot(3,2,3); imshow(C); title(cameraman.tif); subplot(3,2,

您可能关注的文档

文档评论(0)

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

教师资格证持证人

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

领域认证该用户于2024年04月12日上传了教师资格证

1亿VIP精品文档

相关文档