【发布时间】:2017-05-11 06:48:17
【问题描述】:
我正在评估图像乘以随机相位掩模的傅里叶变换。随机相位被调整为初始量的角度值(即以下代码中的 A1)位于 0 到 pi 之间。在傅里叶逆变换时,值范围更改为 -pi 到 pi(即代码中的 A),因为 MATLAB 中的角度函数返回 -pi 到 pi 范围内的值。有没有办法将角度(即A)的值范围限制为0到pi?附上代码。 fft2和ifft2是MATLAB的内置函数,分别生成傅里叶变换和傅里叶逆变换。
clear all;
close all;
clc;
%generation of two concentric circles image
[x,y]=meshgrid(-64:1:63);
g0= (x.^2+y.^2<=25^2).*(x.^2+y.^2>=20^2)+(x.^2+y.^2>=50^2).*(x.^2+y.^2<=55^2);
figure;
imagesc(abs(g0));
colormap(gray);
axis off;
axis equal;
title('input image');
delta1=rand(128);%random phase generation
%generating initial quantity EL
EL=(g0/(sqrt(2))).*exp(1i*pi*delta1);
A1=angle(EL);
FT=fft2(EL);
IFT=ifft2(FT);
A=angle(IFT);
【问题讨论】: