ifft2 on an asymmetric matrix does not work correctly?

3 views (last 30 days)
I have a complex matrix of size 256x128. When I perform ifft2 the picture is folded across the y direction. The same ifft2 function works well on a symmetric matrix (128x128). Help

Answers (1)

David Young
David Young on 14 Jan 2015
ifft2 works correctly.
You can demonstrate this with the following code
img = rgb2gray(imread('peppers.png')); % example image
img = img(1:256, 1:128); % make it 256x128
img = double(img)/256; % double, scale to 0-1
imshow(img); % have a look
imgTrans = fft2(img); % transform
imgRestored = ifft2(imgTrans); % inverse transform
figure; imshow(imgRestored); % looks ok
There must be some other problem with the way you generate the 256x128 matrix.

Categories

Find more on Fourier Analysis and Filtering in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!