图像傅里叶变换及滤波
圖像的傅里葉變換和常規(guī)的傅里葉變換沒什么本質(zhì)不同,都是利用二維傅里葉變換,圖像傅里葉之后uv常取和原圖像像素大小相同。
在python中,有兩個函數(shù)可直接進(jìn)行離散傅里葉變換,np.fft.fft( )和cv2.dft( )。兩個函數(shù)沒有本質(zhì)的區(qū)別,用法一樣。可通過變換后的函數(shù)查看每一個F(u,v)的圖像,其值就是把整個圖像的值加起來*f(x,y).
????????通過np.fft.fft(img)之后得到傅里葉變換結(jié)果,F(u,v)是復(fù)數(shù),可分別查看其幅度譜和相位譜,
???????? 以下圖為例:
經(jīng)過DFT之后得到復(fù)數(shù)矩陣F(u,v),
幅度譜:np.abs(F(u,v)),由于其幅度較大,常通過log函數(shù)之后降低對比度查看,并把函數(shù)平移,將低頻信號設(shè)置為圖像中心。
相位譜:np.angle(F(u,v)),其值在±π之間。
?
????????2. 濾波
????????在頻域濾波較為簡單,直接在其幅度譜上濾波即可,可加窗進(jìn)行低通、高通濾波。但是由于圖像平移之后,整個圖像中心點為F(0,0),F(M-1,N-1),F(M-1,0),F(0,N-1)四個點,所以濾波必然會導(dǎo)致低頻和高頻信號同時存在或同時濾除。
?
? ? ? ? 注意有人在網(wǎng)上說此時F(M-1,N-1)為低頻信號,因為它值和F(1,1)是一樣大,所以濾波不會導(dǎo)致低頻高頻同時濾除,這一說法是完全錯誤的!!????????
????????因為此時的F(M-1,N-1)和F(1,1)只是幅度是一樣大,傅里葉變換具有對稱性,可很簡單進(jìn)行證明,但是其只是表面頻率為F(M-1,N-2)和F(1,1)的兩個信號的幅度大小相同,但是傅里葉變換是要乘頻率信號進(jìn)行相加的,即F(u,v) * np.cos(theta) + 1j * F(u,v)* np.sin(theta)?,所以濾波確實是導(dǎo)致低頻和高頻共同存在或消失的,這也是利用頻域濾波的缺點。
總結(jié)
以上是生活随笔為你收集整理的图像傅里叶变换及滤波的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
                            
                        - 上一篇: HW及各大公司软侧面试题
 - 下一篇: 为什么我们不再 Root 和刷机了?