MATLAB Answers

How do we take the inverse fourier transformof this image

37 views (last 30 days)
I need to find the inverse tramsform of the second image

Accepted Answer

Bastian Arturo Romero Mardones
Your image:
img = imread('imagen','jpg');
h = ifft2(img); %inverse fourier transform
imagesc(abs(h(:,:,1)));
inverse fourier transform:
[r,c,~] = size(h);
H = abs(h(fix(c/2):end,fix(c/2):end,1));
H2 =[H fliplr(H)];
H = [H fliplr(H); flip(H2)];
figure
imagesc(H)
  1 Comment
Arya Gopan
Arya Gopan on 7 Dec 2020
Sir this is the code I used so far from reading the image to taking its fourier transformand then cropping one part of it. Can you please check the last part of the code. I want the inverse fourirer transform using ifftshift
clear all
I = imread('a35.jpg');
I = rgb2gray(I);
[r , c] = size(I);
for i = 1:r
X(i,:)=fft(I(i,:));
end
for j = 1:c
Y(:,j)=fft(X(:,j));
end
figure(1)
imshow(I)
figure(2)
M=Y;
M=fftshift(M);
Ab=abs(M);
Ab=(Ab-min(min(Ab)))./(max(max(Ab))).*225;
imshow(Ab)
X=zeros(size(Ab));
X(475:563,556:639,:)=1;
p = Ab.*X;
subplot(2,1,1)
imshow(Ab);
title('Orginal')
subplot(2,1,2)
imshow(p);
title('Cropped')
IFF=(ifftshift(ifft(p)));
Final=uint8(real(IFF));
figure
imshow(Final);

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!