整體性俯瞰:
1、連續(xù)時(shí)間周期信號(hào):處理時(shí)間連續(xù)并且具有周期性的信號(hào),其頻域上離散,非周期。
2、連續(xù)時(shí)間非周期信號(hào):處理時(shí)間連續(xù)但是不具有周期性的信號(hào),其頻域上連續(xù),非周期。
3、離散時(shí)間非周期信號(hào):處理時(shí)間離散,不具有周期性的信號(hào),其頻域上連續(xù),有周期性。
4、離散時(shí)間周期信號(hào):處理時(shí)間離散,具有周期性的信號(hào),其頻域上離散,有周期性。
總結(jié):
兩個(gè)不同域之間的對(duì)應(yīng)關(guān)系為:
離散對(duì)應(yīng)周期,連續(xù)對(duì)應(yīng)非周期。2者組合得到上面四種情況。
這邊借助圖像來(lái)和現(xiàn)實(shí)對(duì)應(yīng)下:
圖像可以看成是一個(gè)時(shí)域非周期函數(shù)的采樣(離散化),因此是個(gè)時(shí)域的非周期離散函數(shù)。其對(duì)應(yīng)的頻域的函數(shù)應(yīng)該是個(gè)連續(xù)的周期函數(shù)。實(shí)際應(yīng)用中,因?yàn)橛?jì)算機(jī)只能處理離散值,因此需要將連續(xù)的周期函數(shù)進(jìn)行離散化。因?yàn)槭侵芷诤瘮?shù),所以我們只需要在一個(gè)周期內(nèi)采樣即可。根據(jù)采樣定理,我們的采樣值M必須大于等于原信號(hào)序列N。為了方便起見(jiàn),實(shí)際應(yīng)用中取M=N。所以圖像的空間為 HW 的話,其采樣后的值也為 HW。
公式如下圖:

附一段直接根據(jù)公式進(jìn)行采樣的代碼:
import cv2
import numpy as np
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = ['SimHei'] #顯示中文
#自定義傅里葉變換功能函數(shù)
def dft(img):
#獲取圖像屬性
H,W,channel=img.shape
#定義頻域圖,從公式可以看出為求出結(jié)果為復(fù)數(shù),因此,需要定義為復(fù)數(shù)矩陣
F = np.zeros((H, W,channel), dtype=np.complex)
# 準(zhǔn)備與原始圖像位置相對(duì)應(yīng)的處理索引
x = np.tile(np.arange(W), (H, 1))
y = np.arange(H).repeat(W).reshape(H, -1)
#通過(guò)公式遍歷
for c in range(channel):#對(duì)彩色的3通道數(shù)進(jìn)行遍歷
for u in range(H):
for v in range(W):
F[u, v, c] = np.sum(img[..., c] * np.exp(-2j * np.pi * (x * u / W + y * v / H))) / np.sqrt(H * W)
return F
最終得到的每個(gè)采樣點(diǎn)都是一個(gè)復(fù)數(shù)。實(shí)部和虛部正好對(duì)應(yīng)復(fù)平面上的坐標(biāo),可以算出對(duì)應(yīng)頻段的幅值和相位。