2021年5月2日 星期日

1071540 影像處理作業3

一、作業說明

離散傅立葉轉換 離散傅立葉轉換 離散傅立葉轉換 離散傅立葉轉換 DFT 練習
請撰寫一個程式,讀取張 請撰寫一個程式,讀取張 請撰寫一個程式,讀取張 請撰寫一個程式,讀取張 256 色灰階圖像 色灰階圖像
(1) 計算輸入圖的 計算輸入圖的 離散 傅立葉轉換 傅立葉轉換 結果 ,並將頻譜大小與相位角度 並將頻譜大小與相位角度 並將頻譜大小與相位角度 並將頻譜大小與相位角度 各以灰階 256 色圖像 方式呈現 出。
(2) 對圖像 利用 Gaussian Low-Pass filter處理,輸出平滑後圖像(程式利用 課本的 frequency filter步驟者可得滿分 得滿分 !)


二、作業環境&語言

        Windows 10 + Python 3.8.5 
        opencv-python 4.5.1.48 + matplotlib 3.4.1 + numpy 1.20.2

 
三、方法&步驟

  1. Input image f(x,y) of size M*N
  2. Form a zero-padded image fp(x,y) of size P * Q, where P=2 * M, Q=2 * N
  3. Multiply fp(x,y) by (−1)^(x+y) to center its transform and compute DFT F(u,v) of the image by using cv.dft()
  4. get the phase by using cv.phase()
  5. Centered Gaussian Low-Pass filter transfer function  H(u,v) of size P×Q, center coordinates :(P/2,Q/2)
  6.  Form the product G(u,v)=F(u,v)H(u,v) 
  7.  Do IDFT to G(u,v) and multiplied by (−1)^(x+y) by using cv.idft()
  8.  Obtain g(x,y) by extracting the M×N region from the left-top quadrant of gp(x,y) 
 
五、執行結果

 
原圖

1.以灰階輸入

2. zero-padded (2 * M, 2 * N)
 
3.傅立葉轉換後的頻譜
 

3.傅立葉轉換後的相位角

4. FH的結果

5. 剪裁







沒有留言:

張貼留言