- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实验二 图像变换及频域滤波.doc
实验二 图像变换及频域滤波
一.实验目的
(1)编写快速傅里叶变换算法程序,验证二维傅里叶变换的平移性和旋转不变性;
(2)实现图像频域滤波,加深对频域图像增强的理解。
二.实验环境及开发工具
Windws XP、MATALAB7.0a=zeros(128,128)
for y=54:74
for x=34:94
a(x,y)=1;
end
end
然后再用显示图象的函数显示即可, 在此我们用imshow(a)语句。
为了得到幅度谱图,可以将数组a进行快速傅立叶变换,然后再用Mesh语句便可得到其幅度谱.
2)观察其平移特性。
根据实验方法中的分析,构造一个新的数组存入平移后的原数组,通过在嵌套中加入语句b(x,y)=(-1).^(x+y).*a(x,y);即可,然后再用类似上面的方法画出图象和幅度谱.
3)验证其旋转不变性。
首先将所得图画旋转45度,这需要通过将数组先相应的旋转,这个旋转有两种方式:
(1)根据旋转后的图象算出旋转后的数组形式,通过点与点之间的变换来实现,需要分区间来画图和构建新的数组.然后用imshow来显示.
(2)直接用IMROTATE(A,ANGLE,METHOD)语句,其中A表示数组,ANGLE表示旋转角度,METHOD表示旋转方向.我们令t=imrotate(a,315,nearest,crop)令可将数组a逆时针旋转135度,即相当于顺时针旋转45度。
然后比较旋转前后两幅图的差别以及其频率谱和幅度谱的异同。最后可以得结论。
2.实现图像频域滤波
1)读出图片,并生成图片的数组.
首先要将lena.img与MATLAB程序文档放在一个目录下面,然后再用语句a=fopen(lena.img,r);
b=fread(a,[256,256],uchar);
打开图片并获得组成该图片的数组.然后用imshow(b),便可得到lena的人头图片.
其次与上面任务一样,对图片数组进行快速傅立叶变换,然后用mesh()语句画出他的幅度谱图,
2)进行频域增强的低通滤波部分。
频域法的过程是:
f(x,y)(正变换----F(u,v)---(修正H(u,v)---G(u,v)---(反变换(g(x,y).
理想低通滤波的转移函数需满足以下条件:
H(u,v) H(u,v)=1; 当D(u,v)=Do时;
H(u,v)=0; 当D(u,v) Do时;
其中Do是一个非负整数, D(u,v)是反映点(u,v)到频率平面原点的距离。当小于Do的频率可以完全不受影响的通过滤波器,而大于Do的则完全不能通过滤波器,该Do可以形象的表示成截断频率。
在低通滤波时,分别令Do等于88,24,11,5时,可得到低通滤波后的结果图象,通过观察其图象与幅度谱图来理解低通滤波的特性.
3)进行频域增强的高通滤波部分。
一个2---D理想高通滤波器的转移函数满足下列条件
H(u,v) H(u,v)=0; 当D(u,v)=Do时;
H(u,v)=1; 当D(u,v) Do时;
所得到的结果恰好与低通滤波相反, 当大于Do的频率可以完全不受影响的通过滤波器,而小于Do的则完全不能通过滤波器。
在高通滤波时,分别令Do等于2,8,24时,分别得到高通滤波后的结果图像,通过观察其图象与幅度谱图来理解高通滤波的特性。
关于此部分主要的函数语句是:
m=abs(b);
m0=15*log(m+1.001);
surf(m0);
求出数组之后将其进行fft2得到m,然后求出其绝对值,为了避免其数值过大,求其对数,且为了避免出现0和1的情况,可以在m的基础上加上1.001,最后用surf()函数显示出3----D效果.
(2) r=24;
for x=1:256
for y=1:256
if (x-128).^2+(y-128).^2r.^2;
t(x,y)=0;
end
end
end
通过对r数值的改变,和if条件的变化来实现不同的低通和高通情况下的滤波.
五.实验结果及结论
1.验证二维傅里叶变换的平移性和旋转不变性;
1.1 产生的图像与fft2(f1)幅度谱的程序如下:
Clc;
a=zeros(128,128)
for y=54:74
for x=34:94
a(x,y)=1;
end
end
figure(1)
a1=fft2(a);
subplot(1,2,1);
imshow(a);
subplot(1,2,2);
a2=abs(a1);
mesh(a2);
for x=1:128
文档评论(0)