📄 ge__parallel.m
字号:
%菲涅耳全息图的生成与重现
clear all;clc;
cm=0.01;um=1e-6;
M=512;N=512; %全息图分辨率
z=0.3; %菲涅尔传输距离
lambda=0.63*um; %波长
k=2*pi/lambda; %波数
hx=0.5*cm;hy=0.5*cm; %原始图大小
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); %原始图
f0=zeros(N,1)*[1:M];
f0(129:384,129:384)=A; %扩充图像
dx0=lambda*z/(M*dhx);
dy0=lambda*z/(N*dhy); %物体采样间隔
%[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(-j*k*y1*sin(sita)); %参考光的复波函数
f11=f1+ur;
%f11=abs(f11).^2-abs(f1).^2-abs(ur).^2;
f11=abs(f11).^2;
f111=mat2gray(f11);
figure;imshow(f111); %全息图
%ff=fftshift(fft2(f1));
%ff=mat2gray(ff);
%figure;imshow(ff); %全息图的频谱分布
fh=f11.*conj(ur);
%fh=f1.*conj(ur); %再现光照射
%a=0.002;b=0.3;
%rp1=pure(rp1,a,b,x1,y1); %消除零级和共轭像
[f2,dx2,dy2,x2,y2] = fresnell(fh,N,N,dx1,dy1,z,lambda);
f2=abs(f2).^2;
f2=mat2gray(f2);
figure;imshow(f2);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -