问题遇到的现象和发生背景
问题相关代码,请勿粘贴截图
%——1 FFT重建开始
n=1:N;
x=-L/2+L/N*(n-1);
y=x;
[yy,xx] = meshgrid(y,x);
k=2pi/h;
Fresnel=exp(-ik/2/z0*(xx.^2+yy.^2));
f2=In.Fresnel;
Uf=fft2(f2,N,N);
Uf=fftshift(Uf);
L0=hz0N/L;
x=-L0/2+L0/N(n-1);
y=x;
[yy,xx] = meshgrid(y,x);
phase=exp(-ikz0)ik/(2piz0)exp(-ik/2/z0*(xx.^2+yy.^2));
U0=Uf.phase;%积分运算结果乘积分号前方相位因子
%——1 FFT重建结束
%If=U0conj(U0);
Gmax=max(max(abs(U0)));
Gmin=min(min(abs(U0)));
p=10;
while p
figure(3);
imshow(abs(U0),[Gmin Gmax/p]),colormap(gray);xlabel(figstr);title('1-FFT物平面重建图像');
p=input('Gmax/p,p=10?');
end;
运行结果及报错内容
重建时原理是用照明光照射全息图,不明白您代码中照明光是那个,全息图是那个,还有最后的while循环的作用。为什么有个If=U0*conj(U0);这里If是啥,定义了但是我看到后面代码里没有再出现,求指教,急切!
我想要达到的结果
用傅里叶变换法实现单色光和复合光对数字全息图的重构,复合光尝试过在您的代码上进行相位叠加,但失败了,请问有什么好的思路吗