傅利葉變換

2021-06-26 04:47:23 字數 3120 閱讀 7368

傅利葉變換

1、傅利葉變化公式

f(u, v) = symsum(symsum(f(x, y) * exp(- j * 2 * pi * (u * x / m + v * y / n))))

2、根據公式所寫**

這個**的時間複雜度為 o(n^2), 算一幅 512 * 512 的影象的時間大概是2個小時,沒有實際應用價值,應該要採用快速傅利葉變換。

%% 銳化空間濾波器 頻率濾波 二維離散傅利葉變換 傅利葉變換的**自己實現

% 日期:2014.09.30

% 引數:imgfile 源影象檔案

% 輸出:

% fourierresult 進行傅利葉變換之後的結果;

% centeredfourierresult 進行傅利葉變換之後進行中心平移和取對數增強之後的記過

%%function [fourierresult, centeredfourierresult] = fouriertransformation(imgfile)

im = imread(imgfile);

[nheight, nwidth, ndim] = size(im);

if ndim == 3

im = rgb2gray(im);

endsubplot(1, 3, 1), imshow(im);

% 進行傅利葉變換

j = sqrt(-1);

m = nheight;

n = nwidth;

img = zeros(m, n);

for u = 1:nheight

for v = 1:nwidth

% 直接套用公式 f(u, v) = symsum(symsum(f(x, y) * exp(- j * 2 * pi * (u * x / m + v * y / n))))

sumf = 0;

for x = 0:m-1

for y = 0:n-1

sumf = sumf + double(im(x + 1, y + 1)) * exp(- j * 2 * pi * (u * x / m + v * y / n));

endend

img(u, v) = sumf;

endendfourierresult = log(abs(img));

subplot(1, 3, 2), imshow(fourierresult, );

% 中心變換和取對數增強

centeredfourierresult = 0.5 * log(1 + abs(fftshift(fourierresult)));

subplot(1, 3, 3), imshow(centeredfourierresult, );

為了看到是不是達到效果,做了乙個 10 * 10 的影象來測試,上圖為上述**的效果,下圖為呼叫系統函式的效果。

3、呼叫系統函式 fft2

通過呼叫 matlab 的系統函式 fft2 實現二維的傅利葉變換。

%% 銳化空間濾波器 頻率濾波 二維離散傅利葉變換

% 日期:2014.09.29

% 引數:imgfile 源影象檔案

% 輸出:

% fourierresult 進行傅利葉變換之後的結果;

% centeredfourierresult 進行傅利葉變換之後進行中心平移和取對數增強之後的記過

%%function [fourierresult, centeredfourierresult] = matlabfourier(imgfile)

im = imread(imgfile);

[nheight, nwidth, ndim] = size(im);

if ndim == 3

im = rgb2gray(im);

endsubplot(1, 3, 1), imshow(im);

% 進行傅利葉變換

img = fft2(im);

fourierresult = log(abs(img));

subplot(1, 3, 2), imshow(fourierresult, );

% 中心變換和取對數增強

4、達到 ppt 中效果版的

達到了像 ppt 中那樣的效果的**

function f = matlabfft(imgfile)

im = imread(imgfile);

[nheight, nwidth, ndim] = size(im);

if ndim == 3

im = rgb2gray(im);

end% 二維離散傅利葉變換

f = fft2(im);

% 將直流分量移到頻譜中心

f = fftshift(f);

% 取傅利葉變換的實部

rrfdp1=real(f);

% 取傅利葉變換的虛部

iifdp1=imag(f);

% 計算頻譜幅值

a=sqrt(rrfdp1.^2+iifdp1.^2);

% 歸一化

傅利葉變換與快速傅利葉變換

作為電子資訊專業的學生老說,這個不知道,或者理解不清楚,是十分不應該的,作為乙個學渣,有時候確實是理解不清楚的 1 首先離散傅利葉變換目的 簡單點說 就是將乙個訊號從時域變換到頻域 標準點說 將以時間為自變數的訊號 與 頻率為自變數的頻譜函式之間的某種關係變換 數學描述 對於 n點序列 其中自然對數...

傅利葉變換

1 為什麼要進行傅利葉變換,其物理意義是什麼?傅利葉變換是數字訊號處理領域一種很重要的演算法。要知道傅利葉變換演算法的意義,首先要了解傅利葉原理的意義。傅利葉原理表明 任何連續測量的時序或訊號,都可以表示為不同頻率的正弦波訊號的無限疊加。而根據該原理創立的傅利葉變換演算法利用直接測量到的原始訊號,以...

傅利葉變換

數學家眼中的訊號,就是乙個在一維或多維空間上的函式。比如一段聲音頻號,就是在時間上的函式,自變數是時間,因變數是訊號的強度。一副影象訊號,就是二維空間上的函式,自變數是橫軸和縱軸的座標,因變數是影象的畫素等。在數學上,乙個訊號重要的是如何把它描述出來。通常的描述一般是在時間域 空域 上來描述乙個訊號...