Matlab inverse FFT from phase/magnitude only

 So I have this image 'I'. I take F = fft2(I) to get the 2D fourier transform. To reconstruct it, I could go ifft2(F).

The problem is, I need to reconstruct this image from only the a) magnitude, and b) phase components of F. How can I separate these two components of the fourier transform, and then reconstruct the image from each?

I tried the abs() and angle() functions to get magnitude and phase, but the phase one won't reconstruct properly.

Help?  

NOTE:-


Matlabsolutions.com provide latest MatLab Homework Help,MatLab Assignment Help , Finance Assignment Help for students, engineers and researchers in Multiple Branches like ECE, EEE, CSE, Mechanical, Civil with 100% output.Matlab Code for B.E, B.Tech,M.E,M.Tech, Ph.D. Scholars with 100% privacy guaranteed. Get MATLAB projects with source code for your learning and research.   
 

Answers: 

You need one matrix with the same magnitude as F and 0 phase, and another with the same phase as F and uniform magnitude. As you noted abs gives you the magnitude. To get the uniform magnitude same phase matrix, you need to use angle to get the phase, and then separate the phase back into real and imaginary parts. 

 

> F_Mag = abs(F); %# has same magnitude as F, 0 phase 
SEE COMPLETE ANSWER CLICK THE LINK   
https://matlabhelpers.com/questions/matlab-inverse-fft-from-phase-magnitude-only.php

Comments

Popular posts from this blog

Why do I get a "Too many input arguments" error when not passing any?

programmingshark

Why Red, Green, Blue channels of image separetely are grayscaled (Matlab)?