2019年5月12日 星期日

1051420 作業3

題目:

請撰寫一個程式,讀取一張 256 色灰階圖像。 計算輸入圖的離散傅立葉轉換結果, 並
將頻譜大小與相位角度各以灰階 256 色圖像方式呈現出。

實作平台:

Visual Studio 2015 + OpenCV 3.4 +win 10

使用方法:


先以灰階的方式讀取圖片然後以getOptimalDFTSize()找到最佳的大小,將原圖的邊界擴展至此大小,並用padding以0補充,在創建planes[]存取圖像實數和虛數。

使用merge(planes,2,complexImg); 將planes[0]和planes[1]的實數與虛數部分全部儲存至complexImg當中,在對complexImg做dft並使用split將complexImg的實數虛數部分分開


將實數與虛數部分做arctan處理得到圖片的phase angle,然後做頻譜轉換,並重新編排將原點移至影像中央以向外做排列,最後在逆轉換得到原圖。

從左起為原圖、頻譜圖、相位圖、逆轉換圖


沒有留言:

張貼留言