1、数字图像处理旋转与幅度谱含MATLAB代码数字图像处理实验一 15生医 一、实验内容产生右图所示图像 f1(m,n),其中图像大小为256256,中间亮条为12832,暗处=0,亮处=100。对其进行FFT: 同屏显示原图f1(m,n)和FFT(f1)的幅度谱图; 若令f2(m,n)=(-1)(m+n)f1(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
2、),试显示FFT(f5)的幅度谱,指出其与 FFT(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)=(-1)(m+n)f1(m,n),对其进行FFT,比较f2与f1幅度谱的异同,简述理由:异同及理由:空域:f2由于前边乘了系数(-1)(m+n),导致灰度值有正有负,而在MATLAB的imshow函数中
3、默认把负值变为0(有些情况是取反),所以形成了如左图所示的黑白花纹。频域:FFT(2)为FFT(1)中心化后的图像。空域进行乘以(-1)(m+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度后的图像
4、进行叠加,在频域里也体现为相应幅度谱的叠加,即FFT(f5)=FFT(f1)+FFT(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实现傅里叶变换及其显
5、示的机理也有所掌握,比如后边附的程序中会提到的Note1-Note5的思考。Note1:复数取绝对值后才可以二维图示;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; endend figure(1);subplot(1,2,
6、1);imshow(f1);xlabel(a)亮块图像f1(m,n);axis on; % 求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 endend delta=tmax-tmin;for m=1:256 for n=1:256 FFT_f1(m,n)=255*( FF
7、T_f1(m,n)-tmin)/delta; endend % Note2:为什么这里要划分255个灰度级?为什么是在频域里操作?(可能的解释:用灰度来表示值的大小,越白值越大)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=FF
8、T_f2(1,1);for m=1:256 for n=1:256 if tmax FFT_f2(m,m) tmin= FFT_f2(m,n); end endend delta=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; %
9、 f2(m,n)旋转90生成f3(m,n)f3=imrotate(f2,-90,bilinear); % Note4:双线性插值法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 endend delta=tmax-tmin;for m=1:256 for n=1:256 FFT_f3(m,n)=255*( FFT_f3(m
10、,n)-tmin)/delta; endendfigure(3);subplot(1,2,1);imshow (FFT_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=
11、1:256 if tmaxFFT_f4(m,n) tmin=FFT_f4(m,n); end endenddelta=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; f
12、or m=1:256 for n=1:256 FFT_f5(m,n)=255*(FFT_f5(m,n)-tmin)/delta; 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) FF
13、T(f4)幅度谱);axis on; subplot(3,2,5);imshow (f5);xlabel(e)叠加图像f5(m,n);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
14、); end endenddelta=tmax-tmin; for m=1:256 for n=1:256 FFT_f6(m,n)=255*(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)幅度谱);
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1