全息图matlab程序_精品文档.doc
- 文档编号:1201569
- 上传时间:2022-10-18
- 格式:DOC
- 页数:4
- 大小:32KB
全息图matlab程序_精品文档.doc
《全息图matlab程序_精品文档.doc》由会员分享,可在线阅读,更多相关《全息图matlab程序_精品文档.doc(4页珍藏版)》请在冰豆网上搜索。
%Modifiedoff-axisreferencebeamCGHofBurch%
%读入原始图象
PI=3.14159;
Image=imread('lena256.jpg');
N=512;
A=zeros(N,N);
B=zeros(N,N);
forI=1:
1:
256
forJ=1:
1:
256
ImageNum=double(Image(I,J,1));
A(I,J)=ImageNum/255;
B(I,J)=0;
end;end;
figure;
imshow(A);
%为降低全息图的动态范围,乘一随机位相因子%
forI=1:
1:
N
forJ=1:
1:
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);
end;end;
%为降低全息图的动态范围,乘一随机位相因子%
%对物函数做二维FFT变换%
F=fft2(F);
Max=max(max(abs(F)));
F=F/Max;
A=real(F);
B=imag(F);
%对物函数做二维FFT变换%
%定义载波参数
alpha=0.5;
forI=1:
1:
N
forJ=1:
1:
N
Xcos=(J-1)/127;
A1(I,J)=cos(2*PI*alpha*Xcos);
B1(I,J)=sin(2*PI*alpha*Xcos);
end;end;
%定义载波参数
%全息图数据区
forI=1:
1:
N
forJ=1:
1:
N
Holodata(I,J)=0.5+0.5*(A(I,J)*A1(I,J)+B(I,J)*B1(I,J));
end;end;
%全息图数据区
%绘制全息图,制作灰阶全息图像,灰度等级256
M=512;%定义全息图的大小,
Hologram=zeros(M,M);
S=M/N;%定义每个抽样单元大小为S,S
forI=1:
1:
N
forJ=1:
1:
N
Xa=(J-1)*S+1;
Xb=J*S;
Ya=(I-1)*S+1;
Yb=I*S;
forIx=Xa:
1:
Xb
forIy=Ya:
1:
Yb
Hologram(Iy,Ix)=Holodata(I,J);
end;end;
end;end;
Max=max(max(Hologram));
Hologram=Hologram/Max;
figure;
imshow(Hologram);
%绘制全息图,制作灰阶全息图像,灰度等级256
%再现
Object=fft2(Hologram);
Object=fftshift(Object);
Object=abs(Object);
Object=1000*Object/max(max(Object));
figure;
imshow(Object);
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 全息图 matlab 程序 精品 文档