S1083319 作業3

 

題目敘述 

 

撰寫傅利葉轉換程式(Forward Fourier Transform and Inverse Fourier Transform)將一張圖像轉換至頻域後,將頻譜大小與相位角度各以灰階 256 色圖像方式呈現出,再呈現還原後圖像。

 

開發環境 

l   Windows 11 

l   Visual Studio Code 

l   Python 3.11 

l   OpenCV 4.7.0.72 

 

Import 

 

l   cv2 

l   numpy

 

功能說明


1. 直接讀取出一張灰階的圖片

cv2.imread(path, cv2.IMREAD_GRAYSCALE)


2. 執行傅里葉變換後將頻率分量移至中央

np.fft.fft2()

np.fft.fftshift()


3. 計算頻譜大小和相位角大小

np.log()

np.angle()


4. 執行傅里葉反變換,將圖像還原

np.fft.ifftshift()

np.fft.ifft2()

np.abs()


5. 正規化(以灰階 256 色圖像方式呈現)

cv2.normalize(img_name , None, 0, 255, cv2.NORM_MINMAX)


執行結果 


原圖


經傅立葉轉換後


phase


經傅立葉反轉換後


留言

這個網誌中的熱門文章

rzwang Homework #1

s1093350 Homework #2

s1091537 Homework #1