ifft2 on an asymmetric matrix does not work correctly?

1 visualización (últimos 30 días)
Gili
Gili el 14 de En. de 2015
Respondida: David Young el 14 de En. de 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

Respuestas (1)

David Young
David Young el 14 de En. de 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.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by