1、);N=512;A=zeros(N,N);B=zeros(N,N);for I=1:1:256 for J=1: ImageNum=double(Image(I,J,1); A(I,J)=ImageNum/255; B(I,J)=0; end;end;figure;imshow(A);%为降低全息图的动态范围,乘一随机位相因子% N R=rand(1,1); B(I,J)=A(I,J)*sin(R*2*PI); A(I,J)=A(I,J)*cos(R*2*PI); F(I,J)=A(I,J)+j*B(I,J);%对物函数做二维FFT变换% F=fft2(F); Max=max(max(abs(
2、F); F=F/Max; A=real(F); B=imag(F);%定义载波参数 alpha=0.5; Xcos=(J-1)/127; A1(I,J)=cos(2*PI*alpha*Xcos); B1(I,J)=sin(2*PI*alpha*Xcos);%全息图数据区 Holodata(I,J)=0.5+0.5*(A(I,J)*A1(I,J)+B(I,J)*B1(I,J);%绘制全息图,制作灰阶全息图像,灰度等级256 M=512;%定义全息图的大小, Hologram=zeros(M,M);S=M/N;%定义每个抽样单元大小为S,S Xa=(J-1)*S+1; Xb=J*S; Ya=(I-1)*S+1; Yb=I*S; for Ix=Xa:Xb for Iy=Ya:Yb Hologram(Iy,Ix)=Holodata(I,J); end;Max=max(max(Hologram);Hologram=Hologram/Max;imshow(Hologram);%再现 Object=fft2(Hologram);Object=fftshift(Object);Object=abs(Object);Object=1000*Object/max(max(Object);imshow(Object);