1. 作業說明:
2. 執行環境:
- VS code
- python
- opencv
- MacOS
3. 實作方法:
- 第一題:
1. 定義fftImage()function:利用getOptimalDFTSize找到最適合的DFE轉換size做zero padding,並做fourier transform.
2. 定義magnitude function:對做完fourier transform後的實部虛部根據公式計算,用np.fft.fftshift做中心化,再代入根據公式定義出的function中得到頻譜。
3. 定義phase function:根據公式利用np.arctan2去做相位的計算。
4. main function:imread讀入灰階圖像,代入以上的function得到分別的頻譜與相位的圖片結果。
- 第二題:
定義Gaussian function:mask=5*5,先做zero padding為符合filter size,根據公式做filter,然後對每個點與中心點做卷積,得到blur後的圖像。
4. 執行結果:
第一題:
phase |
第二題:
origin |
Gaussian |
Gaussian cat |
Demo:
沒有留言:
張貼留言