数字全息图像matlab程序

上传者: 40675570 | 上传时间: 2019-12-21 20:52:45 | 文件大小: 973B | 文件类型: rar
N=512; A=zeros(N,N); B=zeros(N,N); for I=1:1:256 J=1:1:256 ImageNum=double(Image(I,J,1)); A(I,J)=ImageNum/255; B(I,J)=0; end end figure; imshow(A); pi=3.1415926; for I=1:1:N for J=1:1:N R=rand(1,1);%生成一个元素在0,1之间均匀分布的随机矩阵R B(I,J)=A(I,J)*sin(R*2*pi);%平滑函数的傅里叶变换谱 A(I,J)=A(I,J)*cos(R*2*pi); F(I,J)=A(I,J)+j*B(I,J); end End%限制振幅的动态范围,提高编码的精度 F=fft2(F);%作二维快速傅里叶变换FFT Max=max(max(abs(F))); F=F/Max; A=real(F); B=imag(F); aIpha=0.5;%定义载波参数aIpha for I=1:1:N for J=1:1:N Xcos=(J-1)/127; A1(I,J)=cos(2*pi*aIpha*Xcos); B1(I,J)=sin(2*pi*aIpha*Xcos); end end%全息图数据区 for I=1:1:N for J=1:1:N HoIodata(I,J)=0.5+0.5*(A(I,J)*A1(I,J)+B(I,J)*B1(I,J)); end End M=512;N=512;%定义全息图的大小 Hologram=zeros(M,M); S=M/N;%定义每个抽样单元大小 for I=1:1:N for J=1:1:N Xa=(J-1)*S+1; Xb=J*S; Ya=(I-1)*S+1; Yb=I*S; for Ix=Xa:1:Xb for Iy=Ya:1:Yb HoIogram(Iy,Ix)=HoIodata(I,J); end end end end Max=max(max(HoIogram)); HoIogram=HoIogram/Max; figure; imshow(HoIogram); %以下是用matlab分别计算函数各抽样点的傅里叶变换谱的幅角与模,并对各点的模归一化 object=fft2(HoIogram); object=fftshift(object);%用matlab中的移谱函数fftshift( )将频谱的低频成分移到中心,以避免再现时像分散在边缘 object=abs(object); object=1000*object/max(max(object)); figure; imshow(object);

文件下载

资源详情

[{"title":"( 1 个子文件 973B ) 数字全息图像matlab程序","children":[{"title":"附件-matlab程序.m <span style='color:#111;'> 1.54KB </span>","children":null,"spread":false}],"spread":true}]

评论信息

  • qq_34400363 :
    程序很全面
    2019-03-23

免责申明

【只为小站】的资源来自网友分享,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,【只为小站】 无法对用户传输的作品、信息、内容的权属或合法性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论 【只为小站】 经营者是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。
本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二条之规定,若资源存在侵权或相关问题请联系本站客服人员,zhiweidada#qq.com,请把#换成@,本站将给予最大的支持与配合,做到及时反馈和处理。关于更多版权及免责申明参见 版权及免责申明