ifft2 on an asymmetric matrix does not work correctly?

2 次查看(过去 30 天)
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

回答(1 个)

David Young
David Young 2015-1-14
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.

类别

Help CenterFile Exchange 中查找有关 Fourier Analysis and Filtering 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by