一、題目
請撰寫一個程式,讀取一張 256 色灰階圖像(圖像大小適中以免執行時間太久)。計算輸 入圖的離散傅立葉轉換結果,並將頻譜大小與相位角度各以灰階 256 色圖像方式呈現 出。
二、使用環境
numpy:1.16.4
Python:3.7.4
opencv:4.1.0
三、實作方法
1.使用imread讀入影像,
2.使用fft函式做快速傅立葉轉換
3.使用fft.fftshift將其做置中處理
4.使用log取得頻譜,用plt.show將其顯示
5.上一張圖關閉後,使用angle取得相位圖,用plt.show將其顯示
四、實作成果
原圖:
頻譜圖:
相位圖:
2020年5月16日 星期六
2019年5月15日 星期三
1043362 作業三
- 作業要求
請撰寫一個程式,讀取一張 256 色灰階圖像。計算輸入圖的離散傅立葉轉換結果,並將頻譜大小與相位角度各以灰階256 色圖像方式呈現出。
- 環境設置
Operation system: windows10
Virtual environment: Anaconda 4.6.8
Programing language: Python3.6.8
Library version: Opencv 3.4.1
Virtual environment: Anaconda 4.6.8
Programing language: Python3.6.8
Library version: Opencv 3.4.1
- 作品說明
傅立葉轉換在影像處理上可幫助我們提取空間域上的幾何特徵。
np.fft.fft2()
這個函數可以做快速傅立葉轉換(輸出如圖二),可以看到結果並不理想,這是因為傅立葉變換後的DC-value超出輸出的範圍,所以我們需要對其值取log將其bound在0~255之間(輸出如圖三)。
np.angle()
ϕ=atan(實部 / 虛部)為相位的公式且剛好numpy包裡面的angle函數可以針對參數的實數及虛數部分算出其相位。
- 結果展示
(圖一)
(圖二)
(圖三)
(圖四)
s1053315作業三
一、作業要求:
請撰寫一個程式,讀取一張 256 色灰階圖像。計算輸入圖的離散傅立葉轉換結果,並
將頻譜大小與相位角度各以灰階256 色圖像方式呈現出。
。
二、使用環境/語言:
np.fft.fft2()
np:輸入影像,為灰度影像
fft:決定了輸出陣列的大小,如果它大於輸入影象的大小,則輸入影象在計算FFT之前填充了0.如果它小於輸入影象,輸入影象將被裁剪。
如果沒有引數傳遞,輸出陣列的大小將與輸入相同。
四、環境設置介紹:
請撰寫一個程式,讀取一張 256 色灰階圖像。計算輸入圖的離散傅立葉轉換結果,並
將頻譜大小與相位角度各以灰階256 色圖像方式呈現出。
。
二、使用環境/語言:
- Windows 10
- Spyder ( Python3.5 )
- Python
- Opencv 3.4.1
np.fft.fft2()
np:輸入影像,為灰度影像
fft:決定了輸出陣列的大小,如果它大於輸入影象的大小,則輸入影象在計算FFT之前填充了0.如果它小於輸入影象,輸入影象將被裁剪。
如果沒有引數傳遞,輸出陣列的大小將與輸入相同。
四、環境設置介紹:
首先下載 Anaconda 後將其路徑加入到path,以免python無法正確運行。
挑選一個覺得順眼以及符合系統需求的package 輸入:conda install -c https://conda.anaconda.org/package名稱 下載完畢開啟Spyder即可
五、執行結果:
2019年5月12日 星期日
1051432 作業三
一、作業要求:
請撰寫一個程式,讀取一張 256 色灰階圖像 。計算輸入圖的離散傅立葉轉換結果 ,並將頻譜大小與相位角度各以灰階 256 色圖像方式呈現出。
二、作業環境:
請撰寫一個程式,讀取一張 256 色灰階圖像 。計算輸入圖的離散傅立葉轉換結果 ,並將頻譜大小與相位角度各以灰階 256 色圖像方式呈現出。
二、作業環境:
- windows10
- visual studio 2017
- opencv 3.4.1
- 先用copyMakeBorder()對圖片做邊界擴展
- 將圖片merge()變為多通道的Mat
- dft()進行傅立葉轉換
- split()取出實數部分
- 取出實數部分,並用magnitude()計算出振幅、用phase()計算出相位角度
- normalize()將值進行標準化
- 將圖切成四個部分,再用temp對它們進行互換
- 輸出頻譜圖、相位圖
- idft()將圖片用逆傅立葉轉換回來
- 輸出逆傅立葉轉換的圖
四、成果展示:
2019年5月11日 星期六
s1051435-作業3
一、作業題目:
請撰寫一個程式,讀取一張 256 色灰階圖像。 計算輸入圖的離散傅立葉轉換結果, 並
將頻譜大小與相位角度各以灰階 256 色圖像方式呈現出。
將頻譜大小與相位角度各以灰階 256 色圖像方式呈現出。
二、實作環境:
VisualStudio2017+OpenCV 3.4+Win10
三、執行方式:
1.讀取圖片轉灰階
2.使用getOptimalDFTSize()找到最佳的大小,將原圖的邊界擴展至此大小,並用padding以0補充之
3.創建planes[]儲存圖像實數和儲存圖像虛數
4.使用merge(planes,2,complexImg); 將planes[0]和planes[1]的實數與虛數部分全部儲存至complexImg當中
5.對complexImg做dft並使用split將complexImg的實數虛數部分分開
6. 將實數與虛數部分做arctan處理得到圖片的phase angle,然後做頻譜轉換,並重新編排將原點移至影像中央以向外做排列
7.使用idft逆轉換得到原圖
四、執行結果:
訂閱:
文章 (Atom)









