全息图matlab程序.doc

上传人:w****2 文档编号:6608940 上传时间:2020-02-29 格式:DOC 页数:4 大小:14.50KB
返回 下载 相关 举报
全息图matlab程序.doc_第1页
第1页 / 共4页
全息图matlab程序.doc_第2页
第2页 / 共4页
全息图matlab程序.doc_第3页
第3页 / 共4页
点击查看更多>>
资源描述
%Modified off-axis reference beam CGH of Burch% %读入原始图象 PI=3.14159; Image=imread(lena256.jpg); N=512; A=zeros(N,N); B=zeros(N,N); for I=1:1:256 for J=1:1:256 ImageNum=double(Image(I,J,1); A(I,J)=ImageNum/255; B(I,J)=0; end;end; figure; imshow(A); %为降低全息图的动态范围,乘一随机位相因子% for I=1:1:N for J=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; for I=1:1:N for J=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; %定义载波参数 %全息图数据区 for I=1:1:N for J=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 for I=1:1:N for J=1:1:N Xa=(J-1)*S+1; Xb=J*S; Ya=(I-1)*S+1; Yb=I*S; for Ix=Xa:1:Xb for Iy=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);
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 临时分类 > 人文社科


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!