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

2 次查看(过去 30 天)
I don't even know how to start. Help will be much appreciated.
Thank you

回答(2 个)

Konstantinos Sofos
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
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.

请先登录,再进行评论。

标签

Community Treasure Hunt

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

Start Hunting!

Translated by