題目:
請撰寫一個程式,讀取一張 256 色灰階圖像。 計算輸入圖的離散傅立葉轉換結果, 並
將頻譜大小與相位角度各以灰階 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,然後做頻譜轉換,並重新編排將原點移至影像中央以向外做排列,最後在逆轉換得到原圖。
從左起為原圖、頻譜圖、相位圖、逆轉換圖 |
沒有留言:
張貼留言