《数字图像处理_旋转与幅度谱含MATLAB代码.doc》由会员分享,可在线阅读,更多相关《数字图像处理_旋转与幅度谱含MATLAB代码.doc(14页珍藏版)》请在三一办公上搜索。
1、word数字图像处理实验一15生医 一、实验容产生右图所示图像 f1(m,n),其中图像大小为256256,中间亮条为12832,暗处=0,亮处=100。对其进展FFT: 同屏显示原图f1(m,n)和FFT(f1)的幅度谱图; 假如令f2(m,n)=-1m+nf1(m,n),重复以上过程,比拟二者幅度谱的异同,简述理由; 假如将f2(m,n)顺时针旋转90度得到f3(m,n),试显示FFT(f3)的幅度谱,并与FFT(f2)的幅度谱进展比拟; 假如将f1(m,n) 顺时针旋转90度得到f4(m,n),令f5(m,n)=f1(m,n)+f4(m,n),试显示FFT(f5)的幅度谱,指出其与 FF
2、T(f1)和FFT(f4)的关系; 假如令f6(m,n)=f2(m,n)+f3(m,n),试显示FFT(f6)的幅度谱,并指出其与 FFT(f2)和FFT(f3)的关系,比拟FFT(f6)和FFT(f5)的幅度谱。二、运行环境MATLAB R2014a三、运行结果与分析1.同屏显示原图f1(m,n)和FFT(f1)的幅度谱图:2.令f2(m,n)=-1m+nf1(m,n),对其进展FFT,比拟f2与f1幅度谱的异同,简述理由:异同与理由:空域:f2由于前边乘了系数-1m+n,导致灰度值有正有负,而在MATLAB的imshow函数中默认把负值变为0有些情况是取反,所以形成了如左图所示的黑白花纹。
3、频域:FFT(2)为FFT(1)中心化后的图像。空域进展乘以-1m+n的操作,即相当于频域里的位移,实现频谱的中心化。3.将f2(m,n)顺时针旋转90度得到f3(m,n),试显示FFT(f3)的幅度谱,并与FFT(f2)的幅度谱进展比拟:比拟:空域图像旋转90度后,频域幅度谱也旋转90度。4.将f1(m,n) 顺时针旋转90度得到f4(m,n),令f5(m,n)=f1(m,n)+f4(m,n),试显示FFT(f5)的幅度谱,指出其与 FFT(f1)和FFT(f4)的关系:关系:空域里原图与其旋转90度后的图像进展叠加,在频域里也表现为相应幅度谱的叠加,即FFT(f5)=FFT(f1)+FFT
4、(f4)。5.令f6(m,n)=f2(m,n)+f3(m,n),试显示FFT(f6)的幅度谱,并指出其与 FFT(f2)和FFT(f3)的关系,比拟FFT(f6)和FFT(f5)的幅度谱:关系:空域里原图与其旋转90度后的图像进展叠加,在频域里也表现为相应幅度谱的叠加,即FFT(f6)=FFT(f2)+FFT(f3)。比拟:FFT(6)为FFT(5)中心化后的图像。四、心得体会通过MATLAB编程更加熟练了课上的知识点,比如空域旋转频域也旋转,空域叠加频域也满足叠加关系。同时,对MATLAB实现傅里叶变换与其显示的机理也有所掌握,比如后边附的程序中会提到的Note1-Note5的思考。Note
5、1:复数取绝对值后才可以二维图示;Note2:为什么这里要划分255个灰度级?为什么是在频域里操作?(可能的解释:用灰度来表示值的大小,越白值越大);Note3:空域进展此操作频域位移;Note4:双线性插值法;Note5:旋转坐标计算式:256*(1+0)五、具体程序复制于matlab notebook% 产生亮块图像 0暗100亮f1=zeros(256,256);for m=64:192 for n=112:144 f1(m,n)=100; endendfigure(1);subplot(1,2,1);imshow(f1);xlabel(a)亮块图像f1(m,n);axis on;% 求
6、f1(m,n)的傅里叶变换FFT_f1=fft2(f1);% 求f1(m,n)的频谱FFT_f1=abs(FFT_f1);% Note1:复数取绝对值后才可以二维图示tmax=FFT_f1(1,1);tmin=FFT_f1(1,1);for m=1:256 for n=1:256 if tmax FFT_f1(m,n) tmin= FFT_f1(m,n); end endenddelta=tmax-tmin;for m=1:256 for n=1:256 FFT_f1(m,n)=255*( FFT_f1(m,n)-tmin)/delta; endend% Note2:为什么这里要划分255个灰
7、度级?为什么是在频域里操作?(可能的解释:用灰度来表示值的大小,越白值越大)subplot(1,2,2);imshow (FFT_f1);xlabel(b) f1(m,n)的频谱);axis on;% 频谱中心化f2=f1;for m=1:256 for n=1:256 f2(m,n)=(-1)(m+n)*f1(m,n);% Note3:空域进展此操作频域位移 endendFFT_f2=fft2(f2);FFT_f2=abs(FFT_f2);tmax=FFT_f2(1,1);tmin=FFT_f2(1,1);for m=1:256 for n=1:256 if tmax FFT_f2(m,m)
8、 tmin= FFT_f2(m,n); end endenddelta=tmax-tmin;for m=1:256 for n=1:256 FFT_f2(m,n)=255*( FFT_f2(m,n)-tmin)/delta; endendfigure(2)subplot(1,2,1);imshow(f2);xlabel(a)亮块图像f2(m,n);axis on;subplot(1,2,2);imshow (FFT_f2);xlabel(b) f2(m,n)的频谱);axis on;% f2(m,n)旋转90生成f3(m,n)f3=imrotate(f2,-90,bilinear);% Not
9、e4:双线性插值法FFT_f3=fft2(f3);FFT_f3=abs(FFT_f3);tmax=FFT_f3(1,1);tmin=FFT_f3(1,1);for m=1:256 for n=1:256 % Note5:旋转坐标计算式:256*(1+0) if tmax FFT_f3(m,n) tmin= FFT_f3(m,n); end endenddelta=tmax-tmin;for m=1:256 for n=1:256 FFT_f3(m,n)=255*( FFT_f3(m,n)-tmin)/delta; endendfigure(3);subplot(1,2,1);imshow (F
10、FT_f2);xlabel(a) FFT(f2)幅度谱);axis on;subplot(1,2,2);imshow (FFT_f3);xlabel(b) FFT(f3)幅度谱);axis on;% 旋转90与原图叠加的空域频域比拟f4=imrotate(f1,-90,bilinear);f5=f1+f4;FFT_f4=fft2(f4);FFT_f4=abs(FFT_f4);tmax=FFT_f4(1,1);tmin=FFT_f4(1,1);for m=1:256 for n=1:256 if tmaxFFT_f4(m,n) tmin=FFT_f4(m,n); end endenddelta=
11、tmax-tmin;for m=1:256 for n=1:256 FFT_f4(m,n)=255*(FFT_f4(m,n)-tmin)/delta; endendFFT_f5=fft2(f5);FFT_f5=abs(FFT_f5);tmax=FFT_f5(1,1);tmin=FFT_f5(1,1);for m=1:256 for n=1:256 if tmaxFFT_f5(m,n) tmin=FFT_f5(m,n); end endenddelta=tmax-tmin;for m=1:256 for n=1:256 FFT_f5(m,n)=255*(FFT_f5(m,n)-tmin)/del
12、ta; endendfigure(4);subplot(3,2,1);imshow (f1);xlabel(a)亮块图像f1(m,n);axis on;subplot(3,2,2);imshow (FFT_f1);xlabel(b) FFT(f1)幅度谱);axis on;subplot(3,2,3);imshow (f4);xlabel(c)旋转图像f4(m,n);axis on;subplot(3,2,4);imshow (FFT_f4);xlabel(d) FFT(f4)幅度谱);axis on;subplot(3,2,5);imshow (f5);xlabel(e)叠加图像f5(m,n
13、);axis on;subplot(3,2,6);imshow (FFT_f5);xlabel(f) FFT(f5)幅度谱);axis on;% 旋转90与原图叠加的空域频域比拟二者均中心化f6=f2+f3;FFT_f6=fft2(f6);FFT_f6=abs(FFT_f6);tmax=FFT_f6(1,1);tmin=FFT_f6(1,1);for m=1:256 for n=1:256 if tmaxFFT_f6(m,n) tmin=FFT_f6(m,n); end endenddelta=tmax-tmin;for m=1:256 for n=1:256 FFT_f6(m,n)=255*
14、(FFT_f6(m,n)-tmin)/delta; endendfigure(5);subplot(3,2,1);imshow (f2);xlabel(a)亮块图像f2(m,n);axis on;subplot(3,2,2);imshow (FFT_f2);xlabel(b) FFT(f2)幅度谱);axis on;subplot(3,2,3);imshow (f3);xlabel(c)旋转图像f3(m,n);axis on;subplot(3,2,4);imshow (FFT_f3);xlabel(d) FFT(f3)幅度谱);axis on;subplot(3,2,5);imshow (f6);xlabel(e)叠加图像f6(m,n);axis on;subplot(3,2,6);imshow (FFT_f6);xlabel(f) FFT(f6)幅度谱);axis on;figure(6);subplot(1,2,1);imshow (FFT_f5);xlabel(a) FFT(f5)幅度谱);axis on;subplot(1,2,2);imshow (FFT_f6);xlabel(b) FFT(f6)幅度谱);14 / 14