ifft2 on an asymmetric matrix does not work correctly?

12 visualizzazioni (ultimi 30 giorni)
Gili
Gili il 14 Gen 2015
Risposto: David Young il 14 Gen 2015
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

Risposte (1)

David Young
David Young il 14 Gen 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.

Tag

Community Treasure Hunt

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

Start Hunting!

Translated by