How can I swap the phases of two fourier transforms?

2 次查看(过去 30 天)
In my assignment I am supposed to swap phases of the Fourier transform for two images and perform the inverse Fourier transform to reconstruct the images using ifft2(). I am new to Matlab and all I could find was extracting the phase from a fourier transform using angle(), but how do I assign it to another fourier transform?

回答(1 个)

Bjorn Gustavsson
Bjorn Gustavsson 2021-2-1
Tip: Think about the difference between Cartesian and polar representation of a complet number are, also be prepared to use element-wise multiplication (i.e.: .*) and the exp-function.
HTH
  5 个评论
Esa Soudbakhsh
Esa Soudbakhsh 2021-2-3
Okay so what I did was get the phase and magnitude of an fft matrix in rectangular form. Then made a new matrix in polar form by multiplying the new phase with the other magnitude and that made me a new matrix. This is of course after resizing the images to be in the same dimensions.
Bjorn Gustavsson
Bjorn Gustavsson 2021-2-3
Sounds exactly right! But if you are a bit unsure about the assignment of variables and such I suggest that you browse through the on-ramp courses: matlab-onramp. That is intended to get you up and running as fast as possible.
With regards to the dimensions-nuisance: You might (I've neither thought nor tested this) get somewhere by zero-padding the fft of the smaller images

请先登录,再进行评论。

Community Treasure Hunt

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

Start Hunting!

Translated by