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.

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Image Processing Toolbox 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by