qdmagi 发表于 2006-4-4 18:20

看看我这个程序那里错了(熟悉计算全息的高手请进)

close all;clc;clear;<BR>A=zeros(64);<BR>A(15:20,10:50)=1;<BR>A(20:50,30:35)=1;<BR>figure;imshow(A);<BR>B=fft2(fftshift(A));<BR>C=fftshift(B);<BR>Am=abs(C);<BR>Ph=angle(C);<BR>th=max(max(Am));<BR>Am=Am/th;<BR>Ph=Ph/(pi*2);<BR>cgh=zeros(64*13);<BR>hol=zeros(13);<BR>for m=1:64;<BR> for n=1:64;<BR>if abs(Ph(m,n))&lt;=1/4;<BR>h=round(Am(m,n)*12);<BR>p=round(abs(Ph(m,n))*12);<BR>k=ones(h+1,7);<BR>hol(round(7-h/2):round(7+h/2),4+p:10+p)=k;<BR>else <BR>       hol(round(7-h/2):round(7+h/2),4+p:13)=ones(h+1,10-p);<BR>       hol(round(7-h/2):round(7+h/2),1:p-2)=ones(h+1,p-2);<BR> end;<BR>cgh((m-1)*13+1:m*13,(n-1)*13+1:n*13)=hol;<BR>end;<BR>end;<BR>figure;imshow(cgh,[]);<BR>Re=ifft2(cgh);<BR>Re=fftshift(Re);<BR>figure;imshow(abs(Re),[]);

happy 发表于 2006-4-4 22:28

回复:(qdmagi)看看我这个程序那里错了(熟悉计算全...

请说明你想问什么问题?不要这么笼统<BR>没时间一句句看

cdwxg 发表于 2006-4-4 23:33

<P>运行后没什么错误啊<BR>Warning: Image is too big to fit on screen; displaying at 67%<BR>&gt; In imuitools\private\initSize at 86<BR>In imshow at 179<BR>Warning: Image is too big to fit on screen; displaying at 67%<BR>&gt; In imuitools\private\initSize at 86<BR>In imshow at 179<BR>不过有警告,你是说的警告么?</P>

qdmagi 发表于 2006-4-5 09:33

谢谢你。<BR>我想问的问题是:利用这个编码出来的计算全息图,最后再现的是一幅全黑的图。这明显是错误的。应该再现出T的像才对。<BR>所以,这个程序在内容上可能有问题,不是在语法上,所以我想问问计算全息的高手,哪里错了?

qdmagi 发表于 2006-4-5 17:55

各位哥哥姐姐帮帮忙啊!

happy 发表于 2006-4-6 09:43

回复:(qdmagi)看看我这个程序那里错了(熟悉计算全...

<P>上次不是给你发过一个全息方面的程序吗?<BR></P>

qdmagi 发表于 2006-4-6 13:32

他那个我看不明白<BR>我自己写了一个<BR>

qdmagi 发表于 2006-4-7 10:08

自己顶上去!

cdwxg 发表于 2006-4-7 10:29

Image is too big to fit on screen所以才最后再现的是一幅全黑的图吧<BR>计算全息偶不明白<BR>帮你顶哈:)

qdmagi 发表于 2006-4-7 18:14

谢谢啊!

qdmagi 发表于 2006-4-8 14:45

再次顶上去!<BR>大家不会烦吧?

qdmagi 发表于 2006-4-9 18:59

waiting!

qdmagi 发表于 2006-4-10 14:49

up!!!

qdmagi 发表于 2006-4-11 09:06

<P>顶上去吧?<BR>不好意思了?</P>

happy 发表于 2006-4-11 22:02

回复:(qdmagi)看看我这个程序那里错了(熟悉计算全...

把imshow换成image看看
页: [1] 2
查看完整版本: 看看我这个程序那里错了(熟悉计算全息的高手请进)