低通濾波opencv

2021-09-11 10:38:11 字數 1429 閱讀 4577

理論基礎知識,高通部分已經講過,這裡不重複了。本部分做低通濾波,保留細節。即頻譜中間部分保留,與高通相反。

o=cv2.imread('image\\lena256.bmp',0) #讀入

dft=cv2.dft(np.float32(o),flags=cv2.dft_complex_output)

dshift=np.fft.fftshift(dft) #傅利葉變換

rows,cols=o.shape #行 列

crow,ccol=int(rows/2),int(cols/2) #中心

mask=np.zeros((rows,cols,2),np.int8) #生成掩膜,2個通道,256位

mask1=np.zeros((rows,cols,2),np.int8) #生成掩膜,2個通道,256位

mask[crow-30:crow+30,ccol-30:ccol+30]=1 #中心區域設定為1,大小30*30

mask1[crow-10:crow+10,ccol-10:ccol+10]=1 #中心區域設定為1,大小10*10

md=dshift*mask

ishift=np.fft.ifftshift(md)

io=cv2.idft(ishift)

io=cv2.magnitude(io[:,:,0],io[:,:,1]) #逆傅利葉變換

md1=dshift*mask1

ishift1=np.fft.ifftshift(md1)

io1=cv2.idft(ishift1)

io1=cv2.magnitude(io1[:,:,0],io1[:,:,1]) #逆傅利葉變換

可以看出,掩膜越小,即保留的低通部分越少,越模糊。

高通 低通濾波

一 關於影象高頻和低頻 1.1 對影象高頻訊號和低頻訊號的理解 影象中的低頻訊號和高頻訊號也叫做低頻分量和高頻分量。簡單一點說,影象中的高頻分量,指的是影象強度 亮度 灰度 變化劇烈的地方,也就是 我們常說的邊緣 輪廓 影象中的低頻分量,指的是影象強度 亮度 灰度 變換平緩的地方,也就是大片色塊的地...

高通濾波與低通濾波公式

from 設 x n 為取樣資料 y n 為濾波結果 初始y 0 x 0 高通濾波 i從1到n 1迴圈操作 y i y i 1 x i x i 1 a 1,迴圈乘就不斷弱化上次濾波的值,使取樣間的差值相對強化,a 1時沒有濾波效果。在不斷變弱上次濾波值的基礎上,增加本次取樣值與上次取樣值之間的變化。...

在OpenCV裡實現譜域低通濾波

數字影象在形成 傳輸過程中,往往因為各種因素被加入了雜訊,因此對影象進行前期處理以消除雜訊,對於影象的分析 理解等後期工作起到決定性的作用,影象的邊緣以及雜訊干擾在影象的頻域上對應於影象傅利葉變換中的高頻部分,而影象的背景區則對應於低頻部分,因此可以用頻域低通濾波法去除影象的高頻部分,以去掉雜訊從而...