欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

fft2函數(shù)python fft2函數(shù)matlab

【20分】python (x, y) 運(yùn)行.py文件總是出錯

Traceback (most recent call last):

成都創(chuàng)新互聯(lián)為企業(yè)級客戶提高一站式互聯(lián)網(wǎng)+設(shè)計服務(wù),主要包括成都做網(wǎng)站、成都網(wǎng)站設(shè)計、成都外貿(mào)網(wǎng)站建設(shè)、手機(jī)APP定制開發(fā)、微信小程序、宣傳片制作、LOGO設(shè)計等,幫助客戶快速提升營銷能力和企業(yè)形象,創(chuàng)新互聯(lián)各部門都有經(jīng)驗(yàn)豐富的經(jīng)驗(yàn),可以確保每一個作品的質(zhì)量和創(chuàng)作周期,同時每年都有很多新員工加入,為我們帶來大量新的創(chuàng)意。 

File "C:\Users\zhangjq058\workspace\22222222\src\222.py", line 20, in module

x, y = meshgrid(fftfreq(th.shape, dx), fftfreq(th.shape, dx))

File "C:\Python27\lib\site-packages\numpy\fft\helper.py", line 153, in fftfreq

assert isinstance(n,types.IntType) or isinstance(n, integer)

AssertionError

我的code如下:

from pylab import *

from numpy import *

N = 100 #lattice points per axis

dt = 1 #time step

dx = 1 #lattice spacing

t = arange(0, 10000*dt, dt) #time

a = 1 #cofficient

epsilon = 100 #cofficient

M = 1.0 #cofficient

every = 100 #dump an image every

phi_0 = 0.5 #initial mean value of the order parameter

noise = 0.1 #initial amplitude of thermal fluctuations in the order parameter

th = phi_0*ones((N, N)) + noise*(rand(N, N) - 0.5) #initial condition

x, y = meshgrid(fftfreq(th.shape, dx), fftfreq(th.shape, dx))

k2 = (x*x + y*y) #k is a victor in the Fourier space, k2=x^2+y^2

g = lambda th, a: 4*a*th*(1-th)*(1-2*th) #function g

def update(th, dt, a, k2):

return ifft2((fft2(th)-dt*M*k2*fft2(g(th,a)))/(1+2*epsilon*M*dt*k2**2))

for i in range(size(t)):

print t

if mod(i, every)==0:

imshow(abs(th), vmin=0.0, vmax=1.0)

colorbar()

savefig('t'+str(i/every).zfill(3)+'.png', dpi=100)

clf()

th=update(th, dt, a, k2)

python 二維FFT

二維FFT常用在圖像處理上,首先要能理解二維FFT的意義,否則很難明白它到底是怎么工作的。

第一列是原圖和對應(yīng)的頻率信息,第二列是去除低頻部分后,F(xiàn)FT逆變換得到的圖像。第三列是去除高頻部分后FFT逆變換得到的圖像。

從第二列可以看出高頻貢獻(xiàn)了圖像的細(xì)節(jié)。從白到黑的邊界保留了下來。而原圖中大片的白與大片的黑在這個圖中沒什么區(qū)別。

第三列中保留了原圖中的亮部與灰部,而由黑到白的臨界線卻很模糊。細(xì)小的白線黑線也沒能顯示。所以低頻貢獻(xiàn)了圖像的明暗。

2.工作原理理解

二維FFT就是先對行做次一維FFT,這樣每個元素都是關(guān)于行頻率信息了,然后再對列做一維FFT,這樣每個元素都包含了行和列的頻率信息。每個元素都是個復(fù)數(shù),取絕對值可得到振幅,從實(shí)部與虛部的比值可等到相位,在二維矩陣的位置信息包含了頻率大小和方向。方向在一維FFT中是不用考慮的。

FFT2的結(jié)果也是正頻率從0到高然后負(fù)頻率從高到0.fftshift()之后會將低頻放到中間位置。

第一幅圖的頻譜是中間一條白線,也就是說許多個正弦波沿橫向傳播??v向上沒有變化。

第三幅圖的頻譜是十字形加一條從左下角到右上角的直線。說明原圖在橫向,縱向都有變化,變化的方向從左下角到右上角。

從中心到頻譜圖上某一點(diǎn)構(gòu)成的向量方向就是這個波傳播的方向。

正負(fù)對稱才能消除虛部,這點(diǎn)與一維FFT原理一致。

計算機(jī)視覺 圖像的傅里葉變換

傅里葉基礎(chǔ)

法國數(shù)學(xué)家吉恩·巴普提斯特·約瑟夫·傅里葉被世人銘記的最大的貢獻(xiàn)是:他指出任何周期函數(shù)都可以表示為不同頻率的正弦和/或余弦之和的形式,每個正弦項和/或余弦項乘以不同的系數(shù)(現(xiàn)在稱該和為傅里葉級數(shù))。無論函數(shù)多么復(fù)雜,只要它是周期的,并且滿足某些適度的數(shù)學(xué)條件,都可以用這樣的和來表示。即一個復(fù)雜的函數(shù)可以表示為簡單的正弦和余弦之和。甚至非周期函數(shù)(單該曲線下的面積是有限的)也可以用正弦和/或許·余弦乘以加權(quán)函數(shù)的積分來表示。在這種情況下的公式就是傅里葉公式。

比如說我們以制作一個飲料的過程,使用時域的角度來看就是這樣:

這里是什么意思呢,就是說一個飲料的制作需要在18點(diǎn)整放1個單位冰糖、3個單位紅豆、2個單位的綠豆、4個單位的西紅柿,還有1個單位的純凈水。然后再18:01分只需要假如一個單位的純凈水。后面也是一致。而頻域是怎么描述這件事的呢?

具體來說就是說他發(fā)現(xiàn)了一個規(guī)律,就是說這個制作過程,每分鐘都要加入冰糖,每兩分鐘都要加入紅豆,每三分鐘都要加入一次綠豆…。對于時域角度我們這樣描述。

對于頻域角度我們這樣描述這件事,用直方圖表示就是:

如果要考慮更精準(zhǔn)的時間精度,我們就要引入相位這個概念。他是一個和時間差有關(guān)的一個表述。

這里我們說明一下就是時域和頻域的表述是互逆的,對于時域我們是時間為橫坐標(biāo),振幅為縱坐標(biāo)。對于頻域我們以頻率為橫坐標(biāo),振幅為縱坐標(biāo)。但是可以看得出來頻域的表述更加簡單,但是比較抽象,不容易理解。傅里葉說: 任何連續(xù)周期信號,可以由一組適當(dāng)?shù)恼仪€組合而成。 注意這里是一組而不是一個。比如對于這樣的一個圖像: f(x)=3 np.sin(0.8 x)+7 np.sin(1/3 x)+2 np.sin(0.2 x)

看上去是毫無規(guī)律可言吧,但是它也可以由一組正弦函數(shù)組成。

他們是可逆的,想不到吧,亂七八糟的東西也有規(guī)律了。但是他們就是這樣組合而成的嗎?不可能吧,所以這里就是不是同時開始的一組余弦函數(shù),在疊加時要體現(xiàn)開始的時間。也就說組合的函數(shù)他們的開始時間是不一樣的。在這里分別對應(yīng)0,2,3.看公式就看出來啦。這里多說一嘴就是說傅里葉變換從時域角度來看,這個世界是動態(tài)的!從頻域角度來看這個世界是靜止的。從數(shù)學(xué)角度來講:傅里葉變換將一個任意的周期函數(shù)分解成為無窮個正弦函數(shù)的和的形式。從物理角度來講:傅里葉變換實(shí)現(xiàn)了將信號從空間域到頻率域的轉(zhuǎn)換。

傅里葉基礎(chǔ)numpy實(shí)現(xiàn)

python是可以實(shí)現(xiàn)傅里葉變換的,這里就要說到三劍客的numpy了。對應(yīng)的函數(shù)是: numpy.fft.fft2 返回一個復(fù)數(shù)數(shù)組(complex ndarray)。 numpy.fft.fftshift 這個函數(shù)時表示把將零頻率分量移到頻譜中心。

還要設(shè)置頻譜的范圍 20*np.log(np.abs(fshift)) ,對于圖像來說就是255了。

結(jié)果是:

原圖和頻譜圖像。

逆傅里葉numpy實(shí)現(xiàn)

對于傅里葉的逆操作這里沒有什么可說的,就是把頻域圖像轉(zhuǎn)回原圖像。

函數(shù)是: numpy.fft.ifft2 ,那么還有一個操作就是把中間移動回去對啊。 numpy.fft.ifftshift 。 iimg = np.abs(逆傅里葉變換結(jié)果) 而第二個圖就表示低頻部分,邊緣就表示為高頻部分。

首先我們要進(jìn)行傅里葉變換吧,才可以進(jìn)行逆操作。結(jié)果是:

完全一致?。。?/p>

當(dāng)前題目:fft2函數(shù)python fft2函數(shù)matlab
網(wǎng)頁URL:http://chinadenli.net/article48/dodsgep.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供App開發(fā)、全網(wǎng)營銷推廣、網(wǎng)站改版Google、微信小程序、建站公司

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

綿陽服務(wù)器托管