• 大小: 4KB
    文件类型: .m
    金币: 2
    下载: 1 次
    发布日期: 2021-11-15
  • 语言: Matlab
  • 标签: GI  

资源简介

主要介绍了目前鬼成像一些成熟简单的算法,这里面的算法都可以之间run的,方便其他相关专业的人才尽快进入到这个方向。

资源截图

代码片段和文件信息

%基本参数;
clc;
clear all;
lamda=532e-9;
z=10;                                       %远场。
D=5e-3;                                     %光源尺寸
deltax=lamda*z/D;                           %散斑尺寸1.1mm,适宜成像的物体的细节尺寸3mm
%%
%构建物面(Dr面)尺寸50mm,步长1mm,步数50。Dt紧贴后物面
%构建点扩散函数矩阵
dx=1e-3;                                    %物面(Dr面)步长
M=50;                                       %物面(Dr面)步数
ds=0.1e-3;                                  %光源面步长
M0=50;                                      %光源面步数
N=M*M;                                      %物面(Dr面)像素数                           
beta=0.8;                                   %采样率
K=N*beta;                                   %采样数
source=zeros(M0M0K);                      %方形光斑,尺寸5mm,步长0.1mm步数50每一个独立子光源振幅在0-1之间随机分布,相位在0-2pi之间随机分布;
Lp=lamda*z/ds;                              %独立子光源尺寸为ds,有效成像周期为53.2mm,成像物体应该小于该尺寸;如果不想看到伪像,Dr面尺寸也应该小于该尺寸。

D1=zeros(MM0);
for m=1:M     
    n=1:M0         
    D1(mn)= exp(1j*(pi/(lamda.*z))*((m-M/2)*dx-(n-M0/2).*ds).^2);  
end
D2=zeros(M0M);
for m=1:M0          
    n=1:M
    D2(mn)=exp(1j*(pi/(lamda.*z))*((m-M0/2)*ds-(n-M/2).*dx).^2);
end

%%
%成像物体:双缝,缝距5mm
zero1=zeros(1550);
zero2=zeros(2022);
zero3=zeros(204);
one=ones(201);
obj=[zero1;zero2 one zero3 one zero2;zero1];
imwrite(obj‘obj.bmp‘); 
x=reshape(obj25001);                                %N*1,成像物体

%%
%传输过程。
Ir = zeros(MMK);

%K次采样
for h=1:K
  source =rand(M0M0).*exp(1j*2*pi*rand(M0M0));     %赝热光源振幅分布。
 %参考光路
  Er_k=D1*source*D2;
  Ir_k=abs(Er_k).^2;  
  Ir(::h)=Ir_k;
end

I1=Ir(::1)
figure(1);
imagesc(I1/max(max(I1)));
title(‘第一幅散斑‘);
imwrite(I1/max(max(I1))‘

评论

共有 条评论