菲涅耳全息matlab程序解释
clear;clc;
tx=double(imread('F256.BMP'));
figure(1);
imshow(tx);title('原始图像');
txmyt=zeros(384,384);%txmyt是一个384×384全零矩阵
txmyt(129:384,129:384)=tx; %扩充图像
[M,N]=size(txmyt);
rsita=rand(M,N)*2*pi;
rph=exp(i*rsita);
to=txmyt.*rph;%随即相位,平滑傅立叶谱
fto=fftshift(fft2(fftshift(to)));
lamda=632.8e-9;%波长
f=0.3;%频率
b=3/M;
a=2/M;
z=10;%菲涅尔传输距离
k=2*pi/lamda;%波数
for m=1:M
for p=1:N
ck(m,p)=exp(i*2*pi*(a*(m-N/2)+b*(p-N/2))/(2*lamda*z));
end
end
ufto=1/(i*lamda*z)*exp(i*k*z).*ck.*fto;
h=conj(ck).*ufto;%+ck.*conj(ufto);
我想知道最后这一段的意思,看了很久也不明白。望高手们帮我解答一下。
for m=1:M
for p=1:N
ck(m,p)=exp(i*2*pi*(a*(m-N/2)+b*(p-N/2))/(2*lamda*z));
end
end
ufto=1/(i*lamda*z)*exp(i*k*z).*ck.*fto;
h=conj(ck).*ufto;%+ck.*conj(ufto);
追问:你好,能发个程序给我吗,简单一点的就行了。能对二值图像进行傅里叶变换全息,谢谢了
邮箱wenwen99zhen@163.com