菲涅耳离轴全息图的记录过程 Matlab 程序
%-------------记录菲涅耳离轴全息图-------------
%-----------参数设定-------------
Lamda=0.6328;
Alfa=1.0*pi/180; % 参考光角度
dx=5.0; dy=dx;
Zo=250.0e+3; % 物距
%--------------输入物体-----------------
[Im1,PathName1] = uigetfile('*.bmp','Input the Holgram in BMP format');
FileName=strcat(PathName1,Im1); % 全息图文件名
Obj=imread(FileName);
[M,N]=size(Obj);
%-------------离轴菲涅耳全息记录---------------
[x,y] = meshgrid(-dx*(M/2-1):dx:dx*M/2,-dy*(N/2-1):dy:dy*N/2);
Ref=exp(i*2*pi*Alfa*x/Lamda);% 参考光
ObjFr=FreeDiffract(Obj,Lamda,dx,Zo);
ObjFr=ObjFr/max(max(abs(ObjFr)));
Hologram=abs(Ref).^2.0+abs(ObjFr).^2.0+ObjFr.*conj(Ref)+conj(ObjFr).*Ref;%离轴全息图
Hologram=Hologram/max(max(Hologram));
imwrite(Hologram,['Hologram.bmp']);