資源描述:
《數(shù)字圖像處理-旋轉(zhuǎn)與幅度譜(含MATLAB代碼).docx》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、數(shù)字圖像處理實(shí)驗(yàn)一15生醫(yī)一、實(shí)驗(yàn)內(nèi)容產(chǎn)生右圖所示圖像f1(m,n),其中圖像大小為256×256,中間亮條為128×32,暗處=0,亮處=100。對其進(jìn)行FFT:①同屏顯示原圖f1(m,n)和FFT(f1)的幅度譜圖;②若令f2(m,n)=(-1)^(m+n)f1(m,n),重復(fù)以上過程,比較二者幅度譜的異同,簡述理由;③若將f2(m,n)順時(shí)針旋轉(zhuǎn)90度得到f3(m,n),試顯示FFT(f3)的幅度譜,并與FFT(f2)的幅度譜進(jìn)行比較;④若將f1(m,n)順時(shí)針旋轉(zhuǎn)90度得到f4(m,n),令f5(m,n)=f1(m,n)+f4(m,n),試顯示FFT(f5)的幅度譜,指出其與FFT(
2、f1)和FFT(f4)的關(guān)系;⑤若令f6(m,n)=f2(m,n)+f3(m,n),試顯示FFT(f6)的幅度譜,并指出其與FFT(f2)和FFT(f3)的關(guān)系,比較FFT(f6)和FFT(f5)的幅度譜。二、運(yùn)行環(huán)境MATLABR2014a三、運(yùn)行結(jié)果及分析1.同屏顯示原圖f1(m,n)和FFT(f1)的幅度譜圖:2.令f2(m,n)=(-1)^(m+n)f1(m,n),對其進(jìn)行FFT,比較f2與f1幅度譜的異同,簡述理由:異同及理由:①空域:f2由于前邊乘了系數(shù)(-1)^(m+n),導(dǎo)致灰度值有正有負(fù),而在MATLAB的imshow函數(shù)中默認(rèn)把負(fù)值變?yōu)?(有些情況是取反),所以形成了如左
3、圖所示的黑白花紋。②頻域:FFT(2)為FFT(1)中心化后的圖像??沼蜻M(jìn)行乘以(-1)^(m+n)的操作,即相當(dāng)于頻域里的位移,實(shí)現(xiàn)頻譜的中心化。3.將f2(m,n)順時(shí)針旋轉(zhuǎn)90度得到f3(m,n),試顯示FFT(f3)的幅度譜,并與FFT(f2)的幅度譜進(jìn)行比較:比較:空域圖像旋轉(zhuǎn)90度后,頻域幅度譜也旋轉(zhuǎn)90度。4.將f1(m,n)順時(shí)針旋轉(zhuǎn)90度得到f4(m,n),令f5(m,n)=f1(m,n)+f4(m,n),試顯示FFT(f5)的幅度譜,指出其與FFT(f1)和FFT(f4)的關(guān)系:關(guān)系:空域里原圖與其旋轉(zhuǎn)90度后的圖像進(jìn)行疊加,在頻域里也體現(xiàn)為相應(yīng)幅度譜的疊加,即FFT(f
4、5)=FFT(f1)+FFT(f4)。5.令f6(m,n)=f2(m,n)+f3(m,n),試顯示FFT(f6)的幅度譜,并指出其與FFT(f2)和FFT(f3)的關(guān)系,比較FFT(f6)和FFT(f5)的幅度譜:關(guān)系:空域里原圖與其旋轉(zhuǎn)90度后的圖像進(jìn)行疊加,在頻域里也體現(xiàn)為相應(yīng)幅度譜的疊加,即FFT(f6)=FFT(f2)+FFT(f3)。比較:FFT(6)為FFT(5)中心化后的圖像。四、心得體會通過MATLAB編程更加熟練了課上的知識點(diǎn),比如空域旋轉(zhuǎn)頻域也旋轉(zhuǎn),空域疊加頻域也滿足疊加關(guān)系。同時(shí),對MATLAB實(shí)現(xiàn)傅里葉變換及其顯示的機(jī)理也有所掌握,比如后邊附的程序中會提到的Note1
5、-Note5的思考。Note1:復(fù)數(shù)取絕對值后才可以二維圖示;Note2:為什么這里要?jiǎng)澐?55個(gè)灰度級?為什么是在頻域里操作?(可能的解釋:用灰度來表示值的大小,越白值越大);Note3:空域進(jìn)行此操作頻域位移;Note4:雙線性插值法;Note5:旋轉(zhuǎn)坐標(biāo)計(jì)算式:256*(1+0)五、具體程序(復(fù)制于matlabnotebook)%產(chǎn)生亮塊圖像0暗100亮f1=zeros(256,256);form=64:192forn=112:144f1(m,n)=100;endendfigure(1);subplot(1,2,1);imshow(f1);xlabel('(a)亮塊圖像f1(m,n)'
6、);axison;%求f1(m,n)的傅里葉變換FFT_f1=fft2(f1);%求f1(m,n)的頻譜FFT_f1=abs(FFT_f1);%Note1:復(fù)數(shù)取絕對值后才可以二維圖示tmax=FFT_f1(1,1);tmin=FFT_f1(1,1);form=1:256forn=1:256iftmaxFFT_f1(m,n)tmin=FFT_f1(m,n);endendenddelta=tmax-tmin;form=1:256forn=1:256FFT_f1(m,n)=255*(FFT_f1(m,n)-tmin)/
7、delta;endend%Note2:為什么這里要?jiǎng)澐?55個(gè)灰度級?為什么是在頻域里操作?(可能的解釋:用灰度來表示值的大小,越白值越大)subplot(1,2,2);imshow(FFT_f1);xlabel('(b)f1(m,n)的頻譜');axison;%頻譜中心化f2=f1;form=1:256forn=1:256f2(m,n)=(-1)^(m+n)*f1(m,n);%Note3:空域進(jìn)行此操作頻域