2017-05-18 5 views

Répondre

1

Vous avez oublié de multiplier la phase par l'unité complexe j:

I_fft_recon = I_amp .* exp(j * I_phase); 

Tout le reste shouldbe très bien.

BTW, vous pourriez vouloir convertir l'image en double avant de traiter

I = im2double(I); 
+0

si je calcule l'erreur de reconstruction, 'I_error = I - I_recon,' il y a des valeurs dans l'image. que sont-ils? – MJay

+0

@MJay ​​vérifier que ces valeurs sont très petites. Ils sont probablement dus à des problèmes numériques. Voir, par exemple, [ce sujet] (http://stackoverflow.com/q/686439/1714410). – Shai