How do I generate a two dimensional Fourier Transform with a given image in a .mat file?

I don't even know how to start. Help will be much appreciated.
Thank you

1 件のコメント

David Young
David Young 2015 年 3 月 9 日
The documentation for fft2 and save will help you get started.

サインインしてコメントする。

回答 (2 件)

Hi,
Mathworks documentation is excellent and is always a good point to start. Have a look here Fourier Transform and Image Transforms
Assuming that I is your input image and F is its Fourier Transform (i.e. F = fft2(I))
You can use this code:
F = fftshift(F); % Center FFT
F = abs(F); % Get the magnitude
F = log(F+1); % Use log, for perceptual scaling, and +1 since log(0) is undefined
F = mat2gray(F); % Use mat2gray to scale the image between 0 and 1
imshow(F,[]); % Display the result
Regards

1 件のコメント

sean darmadi
sean darmadi 2015 年 3 月 9 日
Hi, I am given a mat file called A.mat. So I am assuming I need to first open the file first. So i wrote,
fid=load('A.mat');
After that, I am not sure what to do with the opened file. I am confused on how to use the fft2 function cause every time I tried it says undefined function 'fttn' for input arguments of type 'struct'.
Am I doing something wrong?

サインインしてコメントする。

Image Analyst
Image Analyst 2015 年 3 月 9 日

0 投票

Attached are two of my FFT2 demos for you.

2 件のコメント

sean darmadi
sean darmadi 2015 年 3 月 9 日
Hi,
I am just given a file in the .mat format. When I try to do ftt2, I am unable to convert the file. When I use the load function, it says that I have a 300x300 double.
Image Analyst
Image Analyst 2015 年 3 月 9 日
You forgot to attach your .mat file and your .m file so I'm unable to do anything to help you (yet).

サインインしてコメントする。

タグ

質問済み:

2015 年 3 月 9 日

コメント済み:

2015 年 3 月 9 日

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by