dft

    1熱度

    1回答

    所以有點更多的細節: 我開始寫我的「學士學位論文」 它會是什麼東西有關圖像壓縮 我想知道你知道任何嘗試使用PNG格式的方波Fourier系列(變換)作爲濾波器而不是Haar小波?它會有什麼好處? 如果您有任何其他想法,我可以做我的論文,這將有所幫助。 我的時限是從現在到五月 - 六月

    1熱度

    1回答

    我想生成一些數字來展示使用傅立葉變換進行時間序列分析的缺點。我的目的是證明2個明顯非常不同的信號具有非常相似形狀的光譜。要開始創建我的系列: t = 0:.01:2; y = sin(2.*pi.*5.*t)+sin(2.*pi.*10.*t); r1 = find(t <= 1); r2 = find(t > 1); y2a = sin(2.*pi.*5.*t(r1)); y2b =

    2熱度

    2回答

    即時通過使用以下代碼來計算圖像與指定內核的卷積(在我的情況下爲高斯)。每當我得到一個不同的結果,結果圖像甚至不是我通過空間域中的卷積獲得的結果。首先,我認爲問題是與圖像的數據類型。我將它們改爲32和64,但結果仍然相同。誰能告訴我什麼可能是錯的? http://opencv.willowgarage.com/documentation/cpp/core_operations_on_arrays.h

    12熱度

    2回答

    所以我試圖在C中編寫離散傅里葉變換來處理真正的32位浮點wav文件。它每次讀取2幀(每個通道一個,但爲了我的目的,我假設它們都是相同的,所以我使用frame [0])。該代碼應該通過用頻率20,40,60,...,10000探測輸出文件來寫出幅度譜。我在輸入框架上使用漢寧窗。如果可以,我想避免使用複數。當我運行這個時,它給了我一些非常奇怪的振幅(其中大部分非常小,並且與正確的頻率無關),這使我相信

    1熱度

    1回答

    我的主要目標是證明卷積定理起作用(只是提醒一下:卷積定理意味着idft(dft(im) .* dft(mask)) = conv(im, mask))。我正在編程。 這裏是我的代碼: function displayTransform(im) % This routine displays the Fourier spectrum of an image. % % Input: im -

    2熱度

    2回答

    Chris Lomont非常友善,他爲我們提供了一個使用C#的完整FFT實現。來源可以找到here。 RealFFT(double[] data, bool forward)函數是一半下來,只是閱讀函數摘要(它是簡短的:))。 我正在使用RealFFT函數,如函數摘要所示,它接受一個樣本數組,它們都是實值(不含虛構成分)。但是,它也指出在前兩個輸入之後輸出是複數值,存儲在交替的實部和虛部中。 我似

    1熱度

    1回答

    我正在研究圖像頻率濾波的GPU實現。 我的代碼在CPU上效果很好(我使用了類似this的東西),但我花了整整一天的時間嘗試在GPU上完成相同的工作 - 沒有成功。我想在頻域應用濾波器,因此我需要正向變換的完整(複雜)結果。 我已經讀過,我需要通過兩個複雜的矩陣(src和dst)來轉發dft以獲得全譜(32FC2)。但是,在逆變換後我無法獲得相同的圖像(返回的圖像非常失真)。 我的代碼(與最接近的結

    1熱度

    2回答

    我目前遇到一個奇怪的行爲與dft函數在opencv中。我是dft轉發一些opencv矩陣,並在頻域進行一些計算,然後我再次將其轉換回來。 結果看起來像預期的維度爲2的圖像(例如256x256,512x512),但是對於任何其他維度我都完全廢話。 我的代碼看起來大致是這樣的: cv::Mat Z(Pgrads.rows, Pgrads.cols, CV_32FC2, cv::Scalar::all(

    4熱度

    1回答

    可能重複: How to get Frequency from FFT result 我與FFT(DFT)的命令在Matlab x軸以某種方式相混淆。當我們對在n點採樣的信號做fft命令時,我們得到一個x軸爲0到n-1的圖。它是指以Hz爲單位的頻率?例如,當我在n = 2時出現尖峯時,是否意味着信號頻率是2Hz?

    0熱度

    1回答

    我剛剛寫了dft的實現。這是我的代碼: int T = 2205; float[] sign = new float[T]; for (int i = 0, j = 0; i < T; i++, j++) sign[i] = (float)Math.Sin(2.0f * Math.PI * 120.0f * i/ 44100.0f); flo