24小时热门版块排行榜    

查看: 1018  |  回复: 0

vjepq57

新虫 (初入文坛)

[求助] 关于角谱法实现数字全息

通过角谱法实现数字全息,程序语法没有错误,但就是重现出来的图是黑色一片,不知道什么问题,希望能有能人给我解答!最好能直接给出改进后的程序!!!
clc
clear
I11=(imread('1.bmp25.bmp'));
I1=double(I11(:,:,1));
%figure;imshow(I1,[]);axis on
I21=(imread('1.bmp65.bmp'));
I2=double(I21(:,:,1));
I31=(imread('1.bmp105.bmp'));
I3=double(I31(:,:,1));
I41=(imread('1.bmp145.bmp'));
I4=double(I41(:,:,1));
Ips=(I1+i*I2-I3-i*I4)/4;
%figure;imshow(abs(Ips),[])
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Ips=(I1+i*I2-I3-i*I4)/4;
Ips=[zeros(79,768);Ips;zeros(113,768)];
L=7.68;
%figure;imshow(abs(Ips),[]);axis on
If=fftshift(fft2(Ips));
kk=768*3;
If1=zeros(kk,kk);
If1(kk/2-768/2+1:kk/2+768/2,kk/2-768/2+1:kk/2+768/2)=If;
II1=ifft2(ifftshift(If1));
%figure;imshow(abs(II1),[]);axis on

lamda=0.6328*10^-3;
k=2*pi/lamda;
a=1.007;
b=1;
zr=60;  zo=zr-1.38;
deltax = L/kk;deltay = L/kk;
aa1=linspace(-L/2,L/2,kk);
aa2=linspace(-L/2,L/2,kk);
[x y]=meshgrid(aa1,aa2);
fx = x/(deltax*deltax*kk);fy = y/(deltay*deltay*kk);
H = exp(1i*k*zo*(1-lamda^2*(fx.^2+fy.^2)).^0.5);
R=exp(i*k*(zr.^2+x.^2/a+y.^2/b).^0.5)./(zr.^2+x.^2/a+y.^2/b).^0.5;
O=ifft2((fft2(II1.*R).*H));
figure;imshow((abs(fftshift(O))).^2,[0 4*10^6]);axis on
%figure;plot(1:2048,(abs(fftshift(O(:,1000)))).^2)
回复此楼

» 本帖附件资源列表

  • 欢迎监督和反馈:小木虫仅提供交流平台,不对该内容负责。
    本内容由用户自主发布,如果其内容涉及到知识产权问题,其责任在于用户本人,如对版权有异议,请联系邮箱:xiaomuchong@tal.com
  • 附件 1 : 新建文件夹.rar
  • 2015-04-19 16:15:13, 712.53 K

» 猜你喜欢

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

智能机器人

Robot (super robot)

我们都爱小木虫

找到一些相关的精华帖子,希望有用哦~

科研从小木虫开始,人人为我,我为人人
相关版块跳转 我要订阅楼主 vjepq57 的主题更新
信息提示
请填处理意见