⛄一、获取代码方式
获取代码方式1:
完整代码已上传我的资源:【光学】基于matlab菲涅尔全息图计算【含Matlab源码 4659期】
点击上面蓝色字体,直接付费下载,即可。
获取代码方式2:
付费专栏Matlab物理应用(初级版)
备注:
点击上面蓝色字体付费专栏Matlab物理应用(初级版),扫描上面二维码,付费29.9元订阅海神之光博客付费专栏Matlab物理应用(初级版),凭支付凭证,私信博主,可免费获得1份本博客上传CSDN资源代码(有效期为订阅日起,三天内有效);
点击CSDN资源下载链接:1份本博客上传CSDN资源代码
⛄二、部分源代码
%菲涅耳全息图的生成与重现
clear all;clc;
cm=0.01;um=1e-6;
M=512;N=512; %全息图分辨率
z=0.3; %菲涅尔传输距离
lambda=0.63um; %波长
k=2pi/lambda; %波数
hx=0.5cm;hy=0.5cm; %原始图大小
dhx=hx/M;dhy=hy/N; %原始图各方向增量
x=dhx.(ones(N,1)[-M/2:M/2-1]);
y=(dhy.(ones(N,1)[-M/2:M/2-1]))';
A=imread(‘E256.bmp’);
figure;imshow(A);title(‘原始图’) %原始图
f0=zeros(N,1)[1:M];
f0(129:384,129:384)=A; %扩充图像
dx0=lambdaz/(Mdhx);
dy0=lambdaz/(Ndhy); %物体采样间隔
%[f1,dx1,dy1,x1,y1] = fresnell(f0,N,N,dx0,dy0,z,lambda);
[f1,dx1,dy1,x1,y1] = fresnel(f0,N,N,dhx,dhy,z,lambda);
sita=pi/6; %参考光角度
% beta=pi/100;
ur=exp(-jky1sin(sita)); %参考光的复波函数
f11=f1+ur;
%f11=abs(f11).2-abs(f1).2-abs(ur).^2;
f11=abs(f11).^2;
f111=mat2gray(f11);
figure;imshow(f111);;title(‘全息图’) %全息图
%ff=fftshift(fft2(f1));
%ff=mat2gray(ff);
%figure;imshow(ff); %全息图的频谱分布
⛄三、运行结果
⛄四、matlab版本及参考文献
1 matlab版本
2014a
2 参考文献
[1] 门云阁.MATLAB物理计算与可视化[M].清华大学出版社,2013.
3 备注
简介此部分摘自互联网,仅供参考,若侵权,联系删除